ダイアログボックスから答えを返すのに苦労しましたが、最終的には、この他の質問の表示からの答えを組み合わせることで解決策を思いつきました。モーダル確認ダイアログのコードの一部を含むボックス
これは、他の質問に対して提案されたものです。
独自の確認ボックスを作成します。
<div id="confirmBox">
<div class="message"></div>
<span class="yes">Yes</span>
<span class="no">No</span>
</div>
confirm()
独自のメソッドを作成します。
function doConfirm(msg, yesFn, noFn)
{
var confirmBox = $("#confirmBox");
confirmBox.find(".message").text(msg);
confirmBox.find(".yes,.no").unbind().click(function()
{
confirmBox.hide();
});
confirmBox.find(".yes").click(yesFn);
confirmBox.find(".no").click(noFn);
confirmBox.show();
}
あなたのコードでそれを呼び出します:
doConfirm("Are you sure?", function yes()
{
form.submit();
}, function no()
{
// do nothing
});
私の変更私は上記を微
調整したので、呼び出す代わりに このようconfirmBox.show()
に使用しましたconfirmBox.dialog({...})
confirmBox.dialog
({
autoOpen: true,
modal: true,
buttons:
{
'Yes': function () {
$(this).dialog('close');
$(this).find(".yes").click();
},
'No': function () {
$(this).dialog('close');
$(this).find(".no").click();
}
}
});
私が行ったもう1つの変更は、ThulasiRamが回答で行ったように、doConfirm関数内にconfirmBox divを作成することでした。