单击模态对话框按钮后如何取消选中该复选框?
Posted
技术标签:
【中文标题】单击模态对话框按钮后如何取消选中该复选框?【英文标题】:How do I uncheck the checkbox after modal dialog button is clicked? 【发布时间】:2018-06-29 16:29:55 【问题描述】:这是我的问题:
在这里提琴: https://www.bootply.com/jMryRDRZNT
当用户单击复选框时,我需要显示警告消息。 然后显示一个模式对话框,用户可以在其中单击“我了解”和“取消” 单击“取消”按钮时,我想取消选中该复选框。
我尝试这样做:
$('#btnModalCancel').click(function()
$('chkImm').attr('checked', false);
);
也尝试了 'prop' 而不是 attr - 仍然无法正常工作。似乎在显示对话框后,某些东西阻止了复选框的更改。 我将 console.log('test') 放在函数内 - 它被调用,但复选框没有被取消选中...请参阅上面链接中的小提琴。
【问题讨论】:
【参考方案1】:chkImm
的选择器错误,请使用 #chkImm
对于 jQuery 1.6+:
.attr() 不推荐用于属性;使用新的.prop() 函数代替:
$('#myCheckbox').prop('checked', true); // Checks it
$('#myCheckbox').prop('checked', false); // Unchecks it
对于 jQuery
要选中/取消选中复选框,请使用属性checked
并更改它。使用 jQuery,您可以:
$('#myCheckbox').attr('checked', true); // Checks it
$('#myCheckbox').attr('checked', false); // Unchecks it
参考:https://***.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】:-
复选框的正确选择器是
$('#chkImm')
使用prop
更改checked
状态。
$('#chkImm').prop('checked', false);
【讨论】:
赞成,因为它是第一个正确答案,与下面的 @Eleazar 相比,大约相差 31 秒 @MuhammadOmerAslam :-)【参考方案3】:更新了您的代码:https://www.bootply.com/GuRVklMhIa#
尝试做:document.getElementById("chkImm").checked = false;
【讨论】:
【参考方案4】:我用这个来显示模态:
$('#myCheckbox').attr("checked", "checked");
但如果您通过以下方式隐藏模式,它将不起作用:
$('#myCheckbox').prop('checked', false);
所以为了正确显示和隐藏,我在显示和隐藏期间都使用了 PROP 方法。
$('#myCheckbox').prop('checked', false); //To Hide
$('#myCheckbox').prop('checked', false); //To Show
【讨论】:
以上是关于单击模态对话框按钮后如何取消选中该复选框?的主要内容,如果未能解决你的问题,请参考以下文章
vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!