2013-04-18 31 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