来自变量的jQuery UI对话框按钮

Kar*_*ten 22 javascript jquery localization jquery-ui jquery-ui-dialog

我有变量在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'); }
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法让它与变量数组键一起使用?

Ale*_*kov 38

你可以尝试这个,可能会有所帮助:

var buttonsOpts = {}
buttonsOpts[translations["ok"]] = function ....
buttonsOpts[translations["cancel"]] = function ....
jQuery('#bar').dialog({
   buttons : buttonsOpts
});
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!