У меня есть функции jquery для анализа моего xml-файла и добавления результата к определенному тегу div, но мое событие OnMenuClick не запускается, и я не могу отобразить результат, пожалуйста, я могу знать, где именно я иду не так? 1001 *
function testmenu() {
$.ajax({
type: "POST",
url: "JsonWebService.asmx/TestXML",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "xml",
success:
function CreateMenus(results) {
for (var i = 0; i < results.length; i++) {
$("<div class='Menu'>" + results[i].Text + "</div>")
.click({ MenuId: results[i].MenuId }, OnMenuClick)
.appendTo("#accordionContainer");
}
},
error: function (msg) {
alert(xhr.statusText);
}
});
};
Это моя функция для OnMenuClick
function OnMenuClick(event) {
$("div[id ^= 'menuItemGroup']").slideUp(500);
$.ajax({
type: "POST",
url: "MenuItems.asmx/GetMenuItems",
data: '{"menuId":"' + event.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='MenuItem'> <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);
}
});
};
Мой пример полученного XML-файла выглядит так, когда я вызываю URL MenuItems.asmx / GetMenuItems
ArrayOfMenuItem><MenuItem><MenuId>1</MenuId><MenuItemId>1</MenuItemId><Text>Books</Text><NavigateUrl>google.com</NavigateUrl></MenuItem><MenuItem><MenuId>1</MenuId><MenuItemId>2</MenuItemId><Text>Cd</Text><NavigateUrl>yahoo.com</NavigateUrl></MenuItem></ArrayOfMenuItem>