javascript - 具有多个相同输入的 Bootstrap 切换不起作用

标签 javascript jquery html twitter-bootstrap-3

具有多个相同输入的引导切换不起作用,除非按不是第一个输入..并且仍然不是所有输入都被选中/取消选中..

我做了小example

如果我按下其中一个,我需要确保所有其他人都具有相同的状态。

$(document).ready(function(){
  $('.testClass').on('change', function() {
    if($(this).prop('checked')) {
      $('.testClass').each(function(key, val) {
        $(val).bootstrapToggle('on');
      });
    } else {
      $('.testClass').each(function(key, val) {
        $(val).bootstrapToggle('off');
      });
    }
  })
});

有什么建议可以实现这一点吗?

最佳答案

@digital-pollution 只是让我无法解释,但我认为我找到了更好的解决方案。它基本上删除了开始时的 on('change') 事件,并在最后将其添加回来。

var toggleButtons = function toggleButtons() {
  $('.testClass').off('change');
  if($(this).prop('checked')) {
    $('.testClass').not($(this)).each(function(key, val) {
        $(val).bootstrapToggle('on');
      });
    } else {
      $('.testClass').not($(this)).each(function(key, val) {
        $(val).bootstrapToggle('off');
      });
    }
    $('.testClass').on('change', toggleButtons);
}

$(document).ready(function(){
  $('.testClass').on('change', toggleButtons);
});
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>

<input type="checkbox"
       class="testClass"
       data-toggle="toggle"
       data-on="test"
       data-off="NOT"
>

<input type="checkbox"
       class="testClass"
       data-toggle="toggle"
       data-on="test"
       data-off="NOT"
>

<input type="checkbox"
       class="testClass"
       data-toggle="toggle"
       data-on="test"
       data-off="NOT"
>

关于javascript - 具有多个相同输入的 Bootstrap 切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52951143/

相关文章:

javascript - 如何使用 Meteor 中的 Iron Router 将自定义 ID 分配给动态生成的 URL?

jquery - 如何使用正则表达式在 html 中搜索字符串并使用 jQuery 突出显示?

javascript - 覆盖 png 图像并在悬停时使图像变暗

javascript - 如何在幻灯片中使用框阴影柔化/羽化图像边缘?

javascript - Greasemonkey 快照在页面刷新后已过时?

javascript - 在用户输入时将输入值附加到 div jquery

javascript - 用于填充选择列表的 Google Apps 脚本服务器调用从未运行

javascript - 如何在 android/三星手机的 html 文本输入字段中停止自动大写?

javascript - 通过切换将文本传递到面板

javascript - ~ JavaScript 中的按位运算符