Неупорядоченный список Javascript Onclick

0

У меня есть неупорядоченный список в 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);

  • 0
    Код, который добавляется к ul, работает, возможно, вы получаете неверные данные из вызова ajax или выполняете дальнейшую обработку, которая ломает вещи. Или, может быть, функция setschool недействительна и не связана. jsbin.com/aXUgemA/1/edit?html,js,output
Теги:

2 ответа

0
Лучший ответ

Проверьте эту скрипку

$(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);
    });
    });
  • 0
    Привет Vignesh Tahnks за ответ ... но проблема сейчас с onclick ... который я не мог заставить работать
  • 0
    Ссылайтесь на эту скрипку jsfiddle.net/vigneshvdm/AXm7d/2
Показать ещё 1 комментарий
0

Это потому, что вы жестко кодируете значение как строку, а не переменную. Когда вы проверяете страницу, правильно ли она печатала идентификатор?

Примечание. Одна вещь, которую вы также хотите иметь в виду, - НЕ использовать число для идентификатора элемента, вместо этого написано так: <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.

  • 0
    Привет спасибо за ответ ... Теперь я могу заполнить список, но .. onclick еще не работает .. Я получаю setschool не определен

Ещё вопросы

Сообщество Overcoder
Наверх
Меню