开发者

Problem with callback function in jquery

I am using the following functions to populate the dropmenu menu, my problem is that my click event is not firing ,and i am not able to populate the dynamic dropdown menu.

This is my Jquery function

function testXmlMenu() {
                getmenu(function (results) {
                 $("div[id ^= 'menuItemGroup']").slideUp(500);
                $.ajax(
                    {
                        type: "POST",
                        url: "JsonWebService.asmx/GetMenuItems",
                        data: '{"menuId":"' + results.data.MenuId + '"}',
       开发者_高级运维                 contentType: "application/json; charset=utf-8",
                        dataType: "xml",
                        success: function (items) {
                            $(event.target).children().remove();
                            var html = "<div id='menuItemGroup" + event.data.MenuId + "' style='display:none'>";
                            for (var j = 0; j < items.length; j++) {
                                html += "<div id='MenuItems'> <a href='" + items[j].NavigateUrl + "'>" +
                                items[j].Text + "</a></div>";
                            }
                            html += "</div>";
                            $(event.target).append(html);
                            $("#menuItemGroup" + event.data.MenuId).slideDown(500);
                        },
                        error: function (err) {
                            alert(err.status + " - " + err.statusText);
                        }
                    });







            });
    }
    function getmenu(callback)
     {
         $.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();
                         alert(MenuId);
                         var dmenu = $("#Menudiv");
                         dmenu.append("<td><ul>"+Text+"</ul></td>");
                         $("dmenu.td").click(callback(results));


                     });


                 }
         });

    }


I think your jQuery selector is switched around for your click action.

It should be:

$("td.dmenu").click(callback(results));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜