gpt4 book ai didi

javascript - Jquery contextMenu 插件无法接受默认选择

转载 作者:行者123 更新时间:2023-11-30 12:59:45 25 4
gpt4 key购买 nike

利用示例 here

 select: {
name: "Select",
type: 'select',
options: {1: 'one', 2: 'two', 3: 'three'},
selected: 2
}

拒绝让下拉菜单的默认选择为 two 而是将其保留为 one 。我们使用的是 jQuery 1.8,此版本的上述代码是否存在已知问题,或者是否有一些可以实现的解决方法?这个问题甚至在演示页面上仍然存在。

Environment:
jQuery 1.8
Firefox 19.0

工作 fiddle

最佳答案

我检查了插件,我认为它从来没有与选择的 selected 值一起工作,但它只在运行时使用当前值。

这是因为 setInputValues 函数设置了选定的属性,如果它在 data 对象中未定义的话。我已通过仅在数据对象未定义时设置属性来修复代码。

参见:

// import values into <input> commands
$.contextMenu.setInputValues = function(opt, data) {
if (data === undefined) {
data = {};
}

$.each(opt.inputs, function(key, item) {
switch (item.type) {
case 'text':
case 'textarea':
item.value = data[key] || "";
break;

case 'checkbox':
item.selected = data[key] ? true : false;
break;

case 'radio':
item.selected = (data[item.radio] || "") == item.value ? true : false;
break;

case 'select':
if (data[key]!=undefined ){
item.selected = data[key] || "";
}
break;
}
});
};

工作 fiddle :http://jsfiddle.net/vYnv3/1/

这是固定代码的 pastebin:http://pastebin.com/Mg3j7ifB

如果能正常工作,我会 fork 修复。

编辑

也添加了对单选框和复选框的支持:

// import values into <input> commands
$.contextMenu.setInputValues = function(opt, data) {
if (data === undefined) {
data = {};
}

$.each(opt.inputs, function(key, item) {
switch (item.type) {
case 'text':
case 'textarea':
item.value = data[key] || "";
break;

case 'checkbox':
if (data[key]!=undefined ){
item.selected = data[key] ? true : false;
}
break;

case 'radio':
if (data[item.radio]!=undefined ){
item.selected = (data[item.radio] || "") == item.value ? true : false;
}
break;

case 'select':
if (data[key]!=undefined ){
item.selected = data[key] || "";
}
break;
}
});
};

新的 pastebin:http://pastebin.com/c8XFVMiD

工作 fiddle :http://jsfiddle.net/vYnv3/2/

关于javascript - Jquery contextMenu 插件无法接受默认选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17660791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com