我在引导按钮组上有一个单击事件的问题。我正在尝试检索活动按钮的ids。包括我当前点击的那个(如果它是未选中的)。问题是,当我选中当前按钮时,它并没有被添加为选中按钮。就好像active类还没有被应用一样。
下面是我的按钮组:
<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);
});我怎样才能确保我收到所有的I的按钮与类活动?
我使用的按钮是bootstrap checkbox style buttons。一旦你点击它们,它们就被选中了。当你点击它们时,它们会被取消选择。
发布于 2013-04-10 03:25:40
在检索所有活动按钮之前,您可以在click函数中添加该类。
$(this).addClass('active');在检索之前,使用button方法设置复选框
$(this).button('toggle'); Here就是一个很好用的例子,但是我并不是真的喜欢两次呼叫按钮(“切换”)。
发布于 2013-04-10 03:25:38
小提琴: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]);
}
});发布于 2013-04-10 03:25:48
尝试显式地将单击的按钮设置为活动
$(".rbtn").click(function () {
if ($(this).hasClass('active') == false){
$(this).addClass('active');
}https://stackoverflow.com/questions/15910681
复制相似问题