这是我的问题:

在这里摆弄:
https://www.bootply.com/jMryRDRZNT

当用户单击复选框时,我需要显示一条警告消息。
然后显示一个模式对话框,用户可以单击“我理解”和“取消”
单击“取消”按钮后,我要取消选中该复选框。

我尝试这样做:

$('#btnModalCancel').click(function() {
    $('chkImm').attr('checked', false);
});


尝试也'prop'而不是attr-仍然无法正常工作。似乎在显示对话框之后,某些东西阻止了复选框的更改。
我将console.log('test')放在函数中-它被调用,但是复选框并未被选中...请参见上面链接中的小提琴。

最佳答案

您选择的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://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>

关于javascript - 单击模式对话框按钮后,如何取消选中复选框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48357919/

10-12 00:25
查看更多