获取按钮组中的活动按钮(引导程序)

时间:2013-09-24 10:05:54

标签: javascript twitter-bootstrap twitter-bootstrap-3

我有一个按钮组,我愿意根据活动按钮更新其他一些更改字段。 请参阅jsfiddle here

这是从文档中复制的HTML:

<div class="btn-group arrActiviteit arrUpdate" data-toggle="buttons">
    <label class="btn btn-primary active" data-wat='foo'>
       <input type="checkbox"> Item 1
    </label>
    <label class="btn btn-primary" data-wat='bar'>
       <input type="checkbox"> Item 2
    </label>
    <label class="btn btn-primary" data-wat='something'>
      <input type="checkbox"> item 3
    </label>
    <label class="btn btn-primary" data-wat='orElse'>
      <input type="checkbox"> item 4
    </label>
</div>

按钮行的行为应该如此 然后我在.arrUpdate div上观察点击事件以进行更改。我有多个按钮组,都有.arrUpdate类。这就是第二节课的原因:.arrActiviteit

$('.arrUpdate').click(function(e){
   val = ''; // for holding the temporary values

   $('.arrActiviteit label').each(function(key, value){
       if(value.className.indexOf('active') >=0){
           val += value.dataset.wat
       }
   })

   // just for debug reasons.
   $('#hierHier').html(val); 

})

但似乎在触发click事件后,'active'类被添加。因此,#hierHier中的值总是落后于一次点击。

我该如何解决这个问题? 或者有更好的方法来检索此复选框 - 数组中的所有活动按钮吗?

1 个答案:

答案 0 :(得分:2)

解决


更新:更好的解决方案Twitter Bootstrap onclick event on buttons-radio


http://jsfiddle.net/hA423/7/

我使用超时解决了它,使你的函数在引导事件之后运行......

必须有其他方法来做到这一点......

$('.btn').on('click',function(e){
  setTimeout(count);
})