【问题标题】:jquery button click eventjquery按钮点击事件
【发布时间】:2013-04-09 19:19:46
【问题描述】:

我对引导按钮组上的点击事件有疑问。我正在尝试检索处于活动状态的按钮的 ID。包括我当前单击的那个(如果未选中)。问题是当我选择它时,我单击的当前按钮不会被添加为选定按钮。好像还没有应用活动的类。

这是我的按钮组:

  <div class="btn-group" id = "rbtns" data-toggle="buttons-checkbox" >
        <button class="btn rbtn" id = "0">0</button>
        <button class="btn rbtn" id = "1">1</button>
        <button class="btn rbtn" id = "2">2</button>
        <button class="btn rbtn" id = "3">3</button>
        <button class="btn rbtn" id = "4">4</button>
  </div>

我的行动:

 $( document ).ready(function() {

       $(".rbtn").click(function () {

        var data = [];

        $('#rbtns .btn.active').each(function() {
              data.push($(this).attr('id'));

        });

        alert ("Data length: " + data.length);
       });

我如何确保收到所有激活类的按钮的 ID?

我使用的按钮是bootstrap checkbox style buttons。一旦你点击它们,它们就会被选中。当你点击它们时,它们会被取消选中。

【问题讨论】:

    标签: javascript jquery ruby-on-rails twitter-bootstrap


    【解决方案1】:

    您可以在检索所有活动按钮之前在 click 函数中添加该类。

    $(this).addClass('active');
    

    检索前使用按钮方法设置复选框

    $(this).button('toggle'); 
    

    Here 是一个工作示例,但我不太喜欢两次调用按钮('toggle')。

    【讨论】:

      【解决方案2】:

      尝试将点击的按钮显式设置为活动

      $(".rbtn").click(function () {
        if ($(this).hasClass('active') == false){
          $(this).addClass('active');
        }
      

      【讨论】:

      • 明确设置似乎删除了按钮的切换行为。当你点击它时它不会粘住。
      【解决方案3】:

      小提琴:http://jsfiddle.net/xdyRt/

      $(".rbtn").click(function () {
          $(this).toggleClass("active");     
          var data = [];
      
          $(".btn").each(function() {
              $(this).hasClass("active") ? data.push($(this).attr("id")) : null;
          });
      
          for (var i = 0; i < data.length; i++) {
              alert(data[i]);
          }
      });
      

      【讨论】:

      • 这不会在我单击按钮后保持选中状态。它不再用作切换按钮。
      • 现在检查,添加了一个小提琴
      • 这似乎不行。可能是因为我在复选框会话的描述中添加的链接中使用了复选框样式按钮。也许引导 js 在运行 jquery 代码后切换按钮,所以它切换回来
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 2015-08-28
      • 2011-12-30
      • 2023-04-09
      相关资源
      最近更新 更多