2011-11-23 22 views
3

是否可以更改每個是,否和取消按鈕的標題,還是必須爲每個對話單獨執行此操作?是否可以更改所有JQuery UI對話框按鈕(是/否/取消)標題?

的要求的更多細節:

在一個典型的JQuery的對話框,該對話框按鈕的定義是這樣的:

buttons: { 
    Yes: function() { 
    }, 
    No: function() { 
    } 
} 

我正在尋找一種方式來改變「是」,「否「和」取消「按鈕文本,而不會改變每個對話框。

因此,如果例如對話框定義如上,「是」按鈕應該自動具有正確的本地化標題。

+0

請給你一些你想要實現的更多細節。 –

+1

你有近4k的聲望,但仍然只提供一個絕對沒有細節的問題。任何更多的信息,如你使用的插件,源代碼等? –

+0

增加了更多細節。 – xsl

回答

4

我假設我們正在討論jQuery UI的對話框。我建議編寫一個包裝對話框插件的插件,並通過除「是」,「否」或「取消」按鈕的標題之外的所有選項。這些你可以在你的包裝插件中設置。

這是相當直接的事情。下面是開始的一種方式:

(function($){ 

    $.fn.myDialog = function(options) { 

     return this.each(function() { 

    var settings = $.extend({ 
      'buttons'   : buttons: [ 
     { 
      text: "My Yes", 
      click: options.myOkCallback 
     }, 
     { 
      text: "My Cancel", 
      click: options.myCancelCallback 
     }, 
     { 
      text: "My No", 
      click: options.myNoCallback 
     } 
    ] 

    }, options); 

    $(this).dialog(settings); 

}); 

    }; 
})(jQuery); 
+0

你說得對。問題是關於jQuery UI對話框。我更新了問題的標題。感謝您的建議,如果沒有更簡單的方法,我可能會使用您的解決方案。 – xsl

+1

只是增加了一個相當簡單的例子,如果你決定寫一個包裝 –

+0

非常感謝。是否可以修改原始對話框而不是使用不同的名稱?否則,我將不得不在整個項目中替換所有的對話框。 – xsl

0
$(":button[value=Yes]").val("Evet"); 

它會轉化具有價值的所有按鈕「是」 Tukish是「EVET」。
你可以找到JSFiddle example here

+0

感謝您的建議。該解決方案無法正常工作(很可能),因爲在執行翻譯行後,有時會定義對話框按鈕。 – xsl

相關問題