来自变量的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; }