jquery - 检索 Bootstrap 复选框的单击状态

标签 jquery bootstrap-4

我有以下引导 HTML 代码,我想确定是否单击了该复选框。
我尝试了以下代码:

$(document).on('click', '#myButton', function() {
  alert($('#myCheckbox').hasClass('selected'));
});
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />

<div class="container">
  <div class="row">
    <label class="checkbox">
      <input type="checkbox" id="myCheckbox">
      <span class="checkmark"></span>
      A test checkbox
    </label>
  </div>
  <div type="button" id="myButton">Press me</div>
</div>

但是它总是返回 false ,无论 checkbox 的状态如何.

alert($('#myCheckbox').hasClass('active'));还返回 false .

请注意,我尝试使用 DOM Explorer 来查看选中和取消选中该复选框时发生的变化,但我看不到任何变化。我想这是我问题的一部分 - 如果回答者也能解释这一点,我将不胜感激!

最佳答案

您应该使用is(':checked'):

$(document).on('click', '#myButton', function() {
  alert($('#myCheckbox').is(':checked'));
});
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />

<div class="container">
  <div class="row">
    <label class="checkbox">
      <input type="checkbox" id="myCheckbox">
      <span class="checkmark"></span>
      A test checkbox
    </label>
  </div>
  <div type="button" id="myButton">Press me</div>
</div>

关于jquery - 检索 Bootstrap 复选框的单击状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54540206/

相关文章:

jquery - 根据 x 轴值设置 flot 中工具提示的标签

javascript - Mustache.js - 接受输入作为变量,但不接受 ajax 获取 : How to import or troubleshoot

javascript - wordpress 中 css/Jquery 登录模式的多个问题

css - 将文本旋转 90°,生成的 div 在父级中有位置

javascript - 在将 Angular 5.2 升级到 Angular 6、Bootstrap 4、jquery 3.3.1 后,Bootstrap 4 下拉菜单和 Bootstrap-select 下拉菜单不再下拉

jquery - Bootstrap/Rails 中的动态列和行

javascript - document.ready 不工作。没有控制台错误并且包含 jQuery

twitter-bootstrap - 如何使用 Bootstrap 4 使文本居中

jquery - 工具提示左下角位置 bootstrap4

javascript - 在选择字段的 Bootstrap 4 验证中出现问题