代码之家  ›  专栏  ›  技术社区  ›  User987

jquery选中未选中的转换不工作

  •  -1
  • User987  · 技术社区  · 6 年前

    我有一个html和jquery onclick事件,如下所示:

    $(document).on('click', '.switch-input', function(e) {
      $("#switch-2").attr('checked', !$('#switch-2').is(':checked'));
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="switch" class="switch">
      <input id="switch-2" type="checkbox" class="switch-input  cekirajMe">
      <label for="switch-2" class="switch-label">Switch</label>
    </div>

    但出于某种原因这不起作用…我想在按钮/标签预设时进行平滑的转换(即复选框选中或未选中)。

    有人能帮我吗?

    我在这里做错什么了?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Carsten Løvbo Andersen Dan Nemtanu    6 年前

    $(document).on('click', '#switch', function(e) {
      $("input",this).attr('checked', $('input',this).is(':checked'));
    });
    

    .switch-input #switch-2

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="switch" class="switch">
      <input id="switch-2" type="checkbox" class="switch-input  cekirajMe">
      <label for="switch-2" class="switch-label">Switch</label>
    </div>
        2
  •  0
  •   Ketan Yekale    6 年前

    $("#switch-2").attr('checked', !$('#switch-2').is(':checked'));

    var i= 0;
    $(document).on('click', '.switch-input', function(e) {alert('i'+ ++i+$("#switch-2:checked").length);
      //$("#switch-2").attr('checked', !$('#switch-2').is(':checked'));
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="switch" class="switch">
      <input id="switch-2" type="checkbox" class="switch-input  cekirajMe">
      <label for="switch-2" class="switch-label">Switch</label>
    </div>