我有一个复选框,如果未选中,我想确认用户是否打算这样做。
我正在监听 on.change 事件并使用 confirm()
作为对话框。如果用户单击“取消”,我有重置复选框的代码。但是,它不服从它。 'checked="checked"' 属性按预期放置在那里,但它没有显示为已选中。
这是一个 JSFiddle 说明它: https://jsfiddle.net/0tvzLbgk/9/
下面是代码。
$('#box').on('change', 'input', function() {
var $me = $(this);
if (this.checked) {
// Item has been checked, do nothing
}
else {
// Item has been unchecked
// Make sure it was not an accident
var confirmReset = confirm("Reset checkbox?");
if (confirmReset == true) {
// Okay, reset
}
else {
// Mistake, mark as checked again
$me.attr('checked', 'checked');
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="box">
<input type="checkbox" />
</div>
有谁知道为什么它不遵循 checked 属性?
最佳答案
使用 .prop 而不是 .attr
$me.prop('选中', true);
关于javascript - 确认对话框取消后输入选中的属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021818/