这是我的问题:
这里小提琴: https://www.bootply.com/jMryRDRZNT
当用户点击复选框时,我需要显示警告消息。 然后会显示一个模态对话框,用户可以点击“我理解'和'取消' 当'取消'单击按钮我想取消选中该复选框。
我尝试这样做:
$('#btnModalCancel').click(function() {
$('chkImm').attr('checked', false);
});
也试过' prop'而不是attr - 仍然没有工作。在显示对话框后,似乎有些东西阻止了复选框的更改。 我在函数中放置了console.log(' test') - 它被调用,但是复选框没有被取消选中...请参阅上面链接中的小提琴。
答案 0 :(得分:1)
$('#chkImm')
prop
更改checked
州。$('#chkImm').prop('checked', false);
答案 1 :(得分:1)
chkImm
的选择器错误,请使用#chkImm
对于jQuery 1.6+:
对于属性,不推荐使用$('#myCheckbox').prop('checked', true); // Checks it
$('#myCheckbox').prop('checked', false); // Unchecks it
对于jQuery< 1.6:强>
要选中/取消选中复选框,请使用属性checked
并更改该属性。使用jQuery,您可以:
$('#myCheckbox').attr('checked', true); // Checks it
$('#myCheckbox').attr('checked', false); // Unchecks it
参考: https://stackoverflow.com/a/17420580/1715121
$('#chkImm').on('change', function() {
if ($(this).is(':checked')) {
$("#myModal").modal({
backdrop: 'static',
eyboard: false
});
}
});
$('#btnModalCancel').click(function() {
$('#chkImm').attr('checked', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<form class="form">
<input id="chkImm" type="checkbox"><label>Turn on</label>
</form>
</div>
<div id="myModal" class="modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Предупреждение, вы уверены!</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Блаблабла</p>
</div>
<div class="modal-footer">
<button type="button" id="btnModalAgree" class="btn btn-warning">Я уверен, и хочу продолжить</button>
<button type="button" id="btnModalCancel" class="btn btn-secondary" data-dismiss="modal">Отмена</button>
</div>
</div>
</div>
</div>
答案 2 :(得分:0)
更新了您的代码:https://www.bootply.com/GuRVklMhIa#
尝试:document.getElementById(“chkImm”)。checked = false;
答案 3 :(得分:0)
我已经用这个展示了模式:
$('#myCheckbox').attr("checked", "checked");
但是如果您通过以下方式隐藏模态,则它将不起作用:
$('#myCheckbox').prop('checked', false);
为了正确显示和隐藏,我和我在“显示和隐藏”期间都使用了PROP方法。
$('#myCheckbox').prop('checked', false); //To Hide
$('#myCheckbox').prop('checked', false); //To Show