我正在使用jQuery 1.8.11.js的以下上下文菜单插件,并使用“build”回调在每次右键单击时动态创建菜单。
http://medialize.github.com/jQuery-contextMenu/index.html
我希望能够在单击某个项目时动态加载菜单选项。
我的问题是这个contextmenu在ajax调用之后不包含任何项目。
这是jQuery代码:
$(function(){
$.contextMenu({
selector: '.context-menu-one ul li',
build: function($trigger, e) {
var str = $trigger.text();
var replaced = str.split(/[^a-zA-Z0-9]/g);
$.post('application/getMenu.php',
{item : replaced[1]},
function(data) {
menuItems = data
};
});
return {
callback: function(key, options) {
var m = "clicked: " + key;
window.console && console.log(m) || alert(m);
},
items: menuItems
};
}
});
});
这是发送ajax响应的PHP代码的一部分:
$toReturn = "";
while($row = $result->fetch_assoc()) {
$var = $row['category_name'];
$toReturn .= "\"".$var."\": {name: \"".$var."\"},";
}
echo $toReturn . "\"quit\": {name: \"Quit\"}";
感谢您的帮助!
答案 0 :(得分:0)
此功能是通过ajax加载的,仅可用于子菜单。也有人要求通过ajax使顶层动态化。