Javascript 选中jQuery上下文菜单复选框

Javascript 选中jQuery上下文菜单复选框,javascript,jquery,contextmenu,Javascript,Jquery,Contextmenu,我正在使用SWIS的contexMenu,我不知道如何从复选框中更改选定的值。 我有以下代码: function isOk(){ return false; } $.contextMenu({ selector: "td[name*='someSelector']", callback: function(key, options) { var m = "clicked: " + key + " id: "+ this.attr('id');

我正在使用SWIS的contexMenu,我不知道如何从复选框中更改选定的值。 我有以下代码:

function isOk(){
    return false;
}

$.contextMenu({
    selector: "td[name*='someSelector']", 
    callback: function(key, options) {
        var m = "clicked: " + key + " id: "+ this.attr('id');
        window.console && console.log(m) || alert(m);
    },
    items: {
        "okOption": {
            name: "ok", 
            type: 'checkbox', 
            selected: function(){ return isOk(); }
        },
        "quit": {
            name: "Close Menu", 
            icon: function(){
                return 'context-menu-icon context-menu-icon-quit';
            }
        }
    }
});
但复选框总是正确的

我不知道什么是错误的,或者所选的函数是否不适用于某个函数,而只适用于true或false

函数isOk(){
返回false;
}
$.contextMenu({
选择器:“[name*='someSelector']”,
回调:函数(键、选项){
var m=“单击:”+key+“id:“+this.attr('id');
window.console&&console.log(m)| | alert(m);
},
项目:{
“okOption”:{
名称:“ok”,
键入:“复选框”,
所选:{function(){return isOk();}}
},
“退出”:{name:“关闭菜单”,图标:function(){
返回“上下文菜单图标上下文菜单图标退出”;
}
}
}
});


单击此处右侧
您不能对所选的
选项使用功能。报告说:

所选:字符串或布尔值

所以你可以使用这样一个变量:

var myFlag = false;

$.contextMenu({
    ...
    items: {
        "okOption": {
            name: "ok", 
            type: 'checkbox', 
            selected: myFlag
        },
    ...

最后,我使用一个事件解决了这个问题: 这里的代码片段提供了解决方案,供未来的人们参考和解决

函数isOk(){
返回false;
}
$.contextMenu({
选择器:“[name*='someSelector']”,
回调:函数(键、选项){
var m=“单击:”+key+“id:“+this.attr('id');
window.console&&console.log(m)| | alert(m);
},
项目:{
“okOption”:{
名称:“ok”,
键入:“复选框”
},
“退出”:{
名称:“关闭菜单”,
图标:函数(){
返回“上下文菜单图标上下文菜单图标退出”;
}
}
},
活动:{
显示:功能(opt){
//这是触发元素
var$this=这个;
//从数据存储导入状态
$this.data().okOption=isOk();
$.contextMenu.setInputValues(opt,$this.data());
//这基本上填充了对象的输入命令
//比如{name:“foo”,yesno:true,radio:“3”,…}
}
}
});


单击右键此处
拥有HTML就好了,如果您将所有内容都发布在Stackoverflow代码段中就更好了!:)代码片段已发布。谢谢。是的,我想使用这些,但是,我需要检查右键单击的时间,并且以这种方式只检查页面加载的时间。您可以安全地删除选中的
:{function(){return isOk();}}}
部分-它不再有用了。是的,谢谢,这是真的。答案随更改而编辑。