Проблема с получением идентификатора динамически сгенерированного тега с помощью jquery - PullRequest
1 голос
/ 11 июня 2011

У меня есть следующая функция для отображения идентификатора события click тега, для которого элементы добавляются динамически. Но когда я выполняю функцию, мое предупреждение не отображает идентификатор, появляется всплывающее окно с неопределенным значением. Пожалуйста, любой может сказать, где точно я иду не так.

Это моя функция

function getmenu()
     {
         $.ajax({
             type: "POST",
             url: "JsonWebService.asmx/GetMenus",
             data: "{}",
             contentType: "application/json; charset=utf-8",
             dataType: "xml",

             success:

                 function (results) {

                     $(results).find("Menu").each(function () {
                         var Text = $(this).find("Text").text();
                         var MenuId = $(this).find("MenuId").text();

                         var dmenu = $("#Menudiv");
                         dmenu.append("<td id='" + MenuId + "'><ul>" + Text + "</ul></td>");



                     });


                     $("#Menudiv").children('td').click(function () {

                         alert($(this).children('td').attr('MenuId'));

                     });


                 }
         });

    }

Это будет мой пример xml-кода, сгенерированного при вызове ajax.

<ArrayOfMenu><Menu><MenuId>1</MenuId><Text>Books</Text></Menu><Menu><MenuId>2</MenuId><Text>Cd</Text></Menu><Menu><MenuId>3</MenuId><Text>Calendar</Text></Menu></ArrayOfMenu>

1 Ответ

2 голосов
/ 11 июня 2011

Изменить эту строку:

alert($(this).children('td').attr('MenuId'));

к этому:

alert($(this).attr('id'));

Это показывает идентификатор тд. Если вы намерены проверить ul внутри td - и заметьте, что у вас нет элементов li внутри ul - вы можете использовать «children», как вы делали выше, но вам нужно исправить свой HTML (

  • ...) и соответственно измените селектор дочерних элементов ... или используйте find () ... зависит от того, что вы на самом деле пытаетесь сделать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...