プラグインをチェックしましたが、選択の値では機能しなかったと思います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/