我正在使用复选框,我希望人们能够检查/取消选中它。
但是,当他们取消选中它时,我正在使用jQueryUI模式弹出窗口来确认他们确实想要这样做。因此,他们可以单击确定或取消,我希望只有在单击确定时才能取消选中我的复选框。
这就是为什么我想要捕获uncheck事件以防止在视觉上取消选中该复选框,并且如果用户碰巧点击确定,则以编程方式取消选中它。
我怎么能这样做?
PS:我知道如果用户点击取消,我可以重新检查它,但这会触发我不想要的check
事件。
答案 0 :(得分:18)
$("#checkboxID").on("click", function (e) {
var checkbox = $(this);
if (checkbox.is(":checked")) {
// do the confirmation thing here
e.preventDefault();
return false;
}
});
答案 1 :(得分:12)
类似的东西:
$("#test").on('change', function() {
this.checked=!this.checked?!confirm('Really uncheck this one ?'):true;
});
答案 2 :(得分:1)
$("#yourCheckBoxId").on('change',function(e){
e.preventDefault();
$("#yourPopDiv").popup();
});
preventDefault()
将停用input[type="checkbox"]
在你的弹出窗口
上$("#ok").on('click',function(){
$("#yourCheckBoxId").attr("checked",true);
});
答案 3 :(得分:1)
纯CSS解决方案
选择复选框,如 -
input[type="checkbox"] {
pointer-events: none;
}
工作得很好,现在您可以在您选择的任何元素点击上切换复选框。
答案 4 :(得分:1)
$("#checkboxID").click(function(e) {
var checkbox = $(this);
if (checkbox.is(":checked")) {
//check it
} else {
// prevent from being unchecked
this.checked=!this.checked;
}
});
答案 5 :(得分:0)
如何使用禁用HTML的属性?
<input type="checkbox" name="my_name" value="my_value" disabled> My value<br>
链接:
https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Property/disabled