我正在努力完成以下任务:
当用户点击包含复选框的div(“productListMatch”)外部时,如果选中任何复选框,则会显示确认提醒,让用户知道他们没有保存复选框选项。
简而言之,我正在检查是否保存了选中的项目。如果是,请通知用户,为他们提供保存与否的选项。
这就是我所做的:
function formCheckboxConfirm() {
$('html').click(function() {
var elem = document.getElementById('frm-list-product').elements;
for (i = 0; i < elem.length; i++) {
if(elem[i].type == "checkbox" && elem[i].checked) {
confirm("You have made changes! Do you want to proceed without saving your changes?");
break;
}
}
});
$(".productListMatch").click(function(e) {
e.stopPropagation(); // I thought this would stop all link clicks, but it's not working as I expected.
});
}
虽然这一般起作用,但它不适用于链接。点击后,他们会继续执行,我仍会收到确认提醒。
注意:div之外的网页上有许多导航链接。 “productListMatch”div本身是jquery选项卡中的内容的一部分(第2个中的第2个),因此必须单击该选项卡才能看到“productListMatch”div。
我想要的是:
我尝试了几个场景,虽然我可以让链接停止(我使用的是preventDefault),但我不确定如何让它们重新开始。也许我说这件事都错了。
我将不胜感激。
感谢。
斯蒂芬
答案 0 :(得分:1)
confirm()
函数返回您需要测试的布尔值。例如:
if confirm("You have made changes! Do you want to proceed without saving your changes?") {
// continue or whatever
} else {
return false; // or break or whatever
}