0
我有以下jQuery函數,我試圖通過發送我的MenuId
作爲參數調用OnMenuClick
函數,但是我的OnMenuClick
事件沒有給出所需的輸出,是他們實現此目的的任何替代方法?調用jquery函數的問題
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>