[英]Jquery UI dialog as confirmation
function Globally() {
$("#dialogid").dialog({ width: 300, modal: true, show: 'drop', hide: 'drop',
buttons: {
"Ok": function () { return true; $(this).dialog('close'); },
"Cancel": function () { return false; $(this).dialog('close'); }
}
});
}
function test()
{
if(Globally())
alert("Ok");
else
alert("Cancel");
}
我正在嘗試創建一個確認對話框,並且希望將其放置在一個函數中(在本例中為Globally()),因為我在許多不同的函數中使用了確認對話框,但這無法正常工作,控件從Globally()
函數,而不會獲得true or false
值。 我希望它停在那里,直到用戶按“ Ok or Cancel
為止。 我怎樣才能做到這一點?
如果要運行這樣的代碼,則必須使用內置的確認函數:
var question = confirm("Proceed?")
if (question){
// continue
} else {
// stop
}
這是因為僅在使用時進行確認會阻止整個javascript執行,並允許您選擇一個答案或另一個答案(確定,取消)。
像jQuery對話框之類的對話框無法停止腳本執行,因此即使您使用
if(Globally())
alert("Ok");
else
alert("Cancel");
它只會執行Globally()函數並緊接着繼續執行-無需等待用戶回答。
如果您確實要使用jq對話框,則將回調函數添加到按鈕中。
"Ok": function () { callbackFunctionTrue(); },
"Cancel": function () { callbackFunctionFalse(); }
然后在測試函數中放棄if / else statement()。
那不是它的工作原理
做就是了
"Ok": function () { alert('OK'); $(this).dialog('close'); },
"Cancel": function () { alert('Not ok'); $(this).dialog('close'); }
要么
"Ok": function () { $(this).dialog('close'); test(1) },
"Cancel": function () {$(this).dialog('close'); test(0) }
與
function test(ok){
alert(ok?"Ok":"Cancel");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.