У меня есть неупорядоченный список в html, к которому я добавляю элементы списка, используя javascript
$(document).ready(function () {
$.ajax({
url: "/Home/GetSchools",
type: 'get',
dataType: "json",
async: false,
success: function (data) {
$.each(data.Items, function (index, value) {
console.log("the schoolname is" + value.schoolName);
$('ul#dropdown-items').append(' <li role="presentation"><a id="value.schoolId" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">value.schoolName</a></li>');
$('ul#dropdown-items').append('<li role="presentation" class="divider"></li>');
});
}
});
});
Я не мог получить value.schoolName и onclick = "setschool (this.id);
Проверьте эту скрипку
$(document).ready(function () {
i=0;
value=["Hello","hi","hey"];
$.each(value,function(){
$('#dropdown-items').append("<li > <a style='cursor:pointer' id='"+value[i]+"'>"+value[i]+"</a></li><br/>");
i++;
});
$("a").on("click",function(){
alert(this.id);
});
});
Это потому, что вы жестко кодируете значение как строку, а не переменную. Когда вы проверяете страницу, правильно ли она печатала идентификатор?
Примечание. Одна вещь, которую вы также хотите иметь в виду, - НЕ использовать число для идентификатора элемента, вместо этого написано так: <a id="school_101">Graystone High</a>
Так вы можете добиться всего:
$(document).ready(function () {
$.ajax({
url: "/Home/GetSchools",
type: 'get',
dataType: "json",
async: false,
success: function (data) {
$.each(data.Items, function (index, value) {
console.log("the schoolname is" + value.schoolName);
$('ul#dropdown-items').append(' <li role="presentation"><a id="school_'+value.schoolId+'" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">'+value.schoolName+'</a></li>');
});
}
});
});
Кроме того, я заметил, что вы добавили добавление 2-х элементов: один содержит данные, а другой действует как разделитель. Вы используете один <li>
и проверяете, является ли этот элемент последним из набора данных. Если это не последний, вы можете придать ему стиль border-bottom: 1px dashed #CCC
.