2013-04-18 3 views
1

Так что у меня есть что-то похожее на этотJavaScript .Dialog Динамические имена кнопок

$("#id").html(msg2show).dialog({ 
     //Other attributes 
     buttons: { 
      "Yes": function() {//Code}, 
      "No": function() {//Code} 
     } 
    }); 

Я добавляю другой поддержки языка на мой сайт. Есть ли способ динамически изменять «Да» и «Нет» с дополнительным дублирующим кодом?

Я попытался использовать следующее и заменить строки с именами переменных, однако, похоже, они интерпретируют имена переменных как строки, а не значение переменной.

var yes = 'Si'; 
var no = 'No'; 

ответ

2

Строить ваши кнопки объекта перед его передачей в .dialog(), так что вы можете использовать переменные в качестве ключей с помощью обозначений квадратных скобок:

var yes = 'Si'; 
var no = 'No'; 
var buttons = {}; 
buttons[yes] = function() {}; 
buttons[no] = function() {}; 
$("#id").html(msg2show).dialog({ 
    //Other attributes 
    buttons: buttons 
}); 
1

использовать текст атрибута, чтобы установить имена кнопки. Посмотрите на это Example

$("#dialog").dialog({ 

    buttons: [ 
     { 
     text: "OK", 
     click: function() { 
      $(this).dialog("close"); 
    } 
    } 
] 
}); 
+0

Ничего, я не знал об этом свойстве и что вы можете передать массив. – bfavaretto

Смежные вопросы