Tôi đã gặp sự cố khi lấy lại câu trả lời từ hộp thoại nhưng cuối cùng đã tìm ra giải pháp bằng cách kết hợp câu trả lời từ câu hỏi khác này hiển thị-có-và-không-nút-thay-thế-của-ok-và-hủy-trong-xác nhận- hộp có một phần mã từ hộp thoại xác nhận phương thức
Đây là những gì được đề xuất cho câu hỏi khác:
Tạo hộp xác nhận của riêng bạn:
<div id="confirmBox">
<div class="message"></div>
<span class="yes">Yes</span>
<span class="no">No</span>
</div>
Tạo confirm()
phương pháp của riêng bạn :
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();
}
Gọi nó bằng mã của bạn:
doConfirm("Are you sure?", function yes()
{
form.submit();
}, function no()
{
// do nothing
});
NHỮNG THAY ĐỔI CỦA TÔI
Tôi đã điều chỉnh ở trên để thay vì gọi confirmBox.show()
tôi sử dụng confirmBox.dialog({...})
như thế này
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();
}
}
});
Thay đổi khác mà tôi đã thực hiện là tạo div confirmBox trong hàm doConfirm, giống như ThulasiRam đã làm trong câu trả lời của mình.