2012-09-29 54 views
-1

這裏是原來的代碼(這不是真正的代碼,希望大家能明白我的意思):如何將邏輯更改爲jQuery UI對話框?

function whichButton(a,b){ 
    if(confirm('I dont wanna compare them?')){ 
     return "yes"; 
    } 
    else{ 
     return "no"; 
    } 
} 

,我需要做的是改變這種邏輯的jQuery UI可替換confirm航海家。

我想要的是遵循與上述相同的邏輯(myConfirm()是一個函數,我用jQuery UI對話框將其封閉)。

function whichButton(){ 
    myConfirm('I dont wanna compare them?',function(yes){ 
     if(yes){ 
      return "yes"; 
     } 
     else{ 
      return "no"; 
     } 
    }); 
} 

我只是想在使用jQuery UI對話框時使用原始邏輯。

+0

您不能直接切換到jQuery UI的對話,因爲它不是來自真正的模態對話框代碼執行的角度 - 在瀏覽器實際顯示對話框並接受用戶輸入之前,顯示它的代碼需要返回。一旦你掌握了結果,如果你能告訴我們你想對結果做什麼,那麼幫助你可能會更容易。 – FixMaker

回答

0

我想你想比較兩個變量,如果在確認對話框中單擊'yes',函數返回'yes',你會得到比較結果。

function maxNumber(a,b){ 
    myConfirm('I dont wanna compare them?',function(yes){ 
    if(yes){ 
     return "yes"; 
    } 
    else{ 
    return a>b?a:b; 
    } 
    }); 
} 
+0

謝謝你回答我的問題。我的例子很爛。點不是比較兩個數字。點是當你按下按鈕時,我可以得到返回值。就像本地navigator中的confirm()一樣var var whichbutton = maxNumber (1,2); –

+0

我剛纔編輯我的問題,希望這個例子能夠表達我想問的問題。 –

0

您可以使用下面的例子:

http://jqueryui.com/demos/dialog/#modal-confirmation

$("#dialog:ui-dialog").dialog("destroy"); 

$("#dialog-confirm").dialog({ 
    resizable: false, 
    height:140, 
    modal: true, 
    buttons: { 
     "Yes": function() { 
      $(this).dialog("close"); 
      doCompare(a, b); 
     }, 
     Cancel: function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

function doCompare(a, b) { 
    return a>b?a:b; 
} 
+0

謝謝你回答我的問題。舊的問題有一個小錯誤。我剛纔編輯我的問題,希望這個例子能夠表達我想問的問題。 –