来自变量的jQuery UI对话框按钮
我有变量在jquery ui对话框中保存按钮的已翻译标签。
我无法用变量本身填充按钮数组键,并且找不到任何方法让它将变量视为字符串。
translations['ok'] = 'ok'; translatinos['cancel'] = 'cancel'; // not working jQuery('#foo').dialog({ buttons: { translations['ok']: function() { alert('foo-ok'); }, translations['cancel']: function() { alert('foo-cancel'); } } }); // working jQuery('#bar').dialog({ buttons: { "Ok": function() { alert('bar-ok'); }, "Cancel": function() { alert('bar-cancel'); } } });
有没有办法让它与变量数组键一起使用?
你可以尝试这个,可能会有所帮助:
var buttonsOpts = {} buttonsOpts[translations["ok"]] = function .... buttonsOpts[translations["cancel"]] = function .... jQuery('#bar').dialog({ buttons : buttonsOpts });
希望能帮助到你!
jQuery('#bar').dialog({ buttons : [ { text: translations.ok, click: function(){} }, { text: translations.cancel, click: function(){} }, ] });
我知道这已经有4年了,但这是我遇到的一个问题的最佳结果。 这是我的劳动成果。
只需在鼠标或键盘事件中调用该函数,引用一个函数(不带括号),定义按钮或设置空白,设置标题,并设置要显示的文本。
function confirmDialogue(fn, value, ok, cancel, title, text){ if (typeof ok == "undefined" || ok == ""){ok = "Ok";} if (typeof cancel == "undefined" || cancel == ""){cancel = "Cancel";} var buttonsOpts = {}; buttonsOpts[ok] = function() {fn(value);$( this ).dialog( "destroy" );} buttonsOpts[cancel] = function() {$( this ).dialog( "destroy" );} var NewDialog = $('' + text + '
'); NewDialog.dialog({ title: title, dialogClass: "dialogue", modal: true, height: "auto", width: "auto", show: true, hide: true, close: function(){$(this).dialog('destroy');}, buttons: buttonsOpts }); return false; }