我正在为jQuery使用这个contextmenu插件:
http://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html
我试图通过简单的条件动态更改菜单项的名称。不幸的是,无法动态更改菜单项的名称,或者我不知道如何更改...
我试过这种方式:
var en = CultureInfo.GetCultureInfo("en-US");
// ...
((double)row[item.columnName]).ToString(en);
但它不起作用。 然后我用匿名函数尝试了它:
items: {
"item": {name: (x > 10) ? 'name1' : 'name2', disabled: false},
"sep1": "----------------",
....
}
但是效果不好...... 现在我没有其他线索,所以我请你帮忙。 你有什么有用的建议吗? 任何帮助表示赞赏。
提前致谢。
答案 0 :(得分:4)
我认为你应该使用构建选项。这使得可以在运行时构建菜单,因此它可以在显示菜单之前评估表达式。
http://swisnl.github.io/jQuery-contextMenu/docs.html#build
var clust= new MarkerClusterer(map, markers, mOptions);
});
答案 1 :(得分:1)
名称将在开头定义,而不是每次点击。如果你想每次都这样做重新定义项目名称:
var x = 0;
$(function() {
$.contextMenu({
selector: '.context-menu-one',
callback: function(key, options) {
var m = "clicked: " + key;
},
items: {
"edit": {name: "Edit", icon: "edit"},
"cut": {name: "Cut", icon: "cut"},
copy: {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: function(){
return 'icon icon-quit';
}}
}
});
$('.context-menu-one').on('contextmenu', function(e){
$('.icon-edit span').text('x: ' + x);
x++;
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script src="http://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.min.js"></script>
<link rel="stylesheet" href="http://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.min.css">
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<span class="context-menu-one btn btn-neutral">right click me</span>
</body>
</html>