Jquery contextMenu插件无法接受默认选择
Jquery contextMenu plugin fails to accept default selection
使用此处的示例
select: {
name: "Select",
type: 'select',
options: {1: 'one', 2: 'two', 3: 'three'},
selected: 2
}
拒绝下拉菜单的默认选择为CCD_ 1,而是将其保留为one
。我们使用的是jQuery 1.8,这个版本的上述代码是否存在已知问题,或者是否有一些解决方法?这个问题甚至在演示页面上仍然存在。
Environment:
jQuery 1.8
Firefox 19.0
工作小提琴
我检查了插件,我认为它从未使用过select的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;
}
});
};
工作小提琴:http://jsfiddle.net/vYnv3/1/
以下是固定代码的粘贴框:http://pastebin.com/Mg3j7ifB
如果有效的话,我会解决的。
编辑
增加了对无线电和复选框的支持:
// 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;
}
});
};
新粘贴箱:http://pastebin.com/c8XFVMiD
工作小提琴:http://jsfiddle.net/vYnv3/2/
相关文章:
- CKeditor:更改对话框中的默认选择选项
- jquery-select2显示默认选择的第一个值
- Shopify多选择器上的默认选择
- Angularjs select:如何获取所选项目的位置并设置默认选择
- 我想使用 javascript 将第一个链接保留为默认选择
- 下拉菜单默认选择从数据库值中选择
- 更改整个文档或窗口的默认选择行为
- 如何使用 jQuery 将下拉选项更改为默认选择
- 默认选择按钮 extjs4.1.
- ng-model 防止选中=“选中”以默认选择单选按钮
- 如何将默认选择的值获取到javascript中,并在页面加载时将其传递给php
- 默认选择剑道组合框
- html默认选择选项 - 不同的颜色 - 不适用于当前的jquery
- 关闭浏览器选项卡时,如何在确认框中默认选择“取消”
- 如何在选择框或下拉框中默认选择第一个选项
- 如何停止jquery中的默认选择事件操作
- angularjs选择框基于数据库id的默认选择
- 选择使用jQuery默认选择一个选项
- Jquery contextMenu插件无法接受默认选择
- 剑道下拉默认选择