我在获取对话框的答案时遇到了麻烦,但最终通过结合此其他问题中的答案
(显示“是”和“否”按钮而非“确定”和“取消”)和模态确认对话框代码的一部分找到了解决方案。
以下是其他问题中建议的方法:
创建自己的确认框:
<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()
{
});
我的更改
我对上述代码进行了调整,不再调用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();
}
}
});
我所做的另一个改变是在doConfirm函数内创建confirmBox div,就像ThulasiRam在他的回答中所做的那样。