У меня есть следующая функция jQuery, я пытаюсь вызвать функцию OnMenuClick
, отправив мой MenuId
в качестве параметра, но мое событие OnMenuClick
не дает желаемого результата, это какой-то альтернативный способ добиться этого
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");
}
}
Это моя 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: "json",
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 class='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, если значение MenuId
1
будет передано OnClick
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfMenuItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<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>