我一直在尝试使用按钮组(根据http://getbootstrap.com/javascript/#buttons上的说明),然后将它们的值解析为移位数组:
btn 组的代码
<div class="btn-group" id="weekdays" data-toggle="buttons">
<label class="btn btn-default">
<input type="checkbox" >Mo
</label>
<label class="btn btn-default">
<input type="checkbox">Tu
</label>
<label class="btn btn-default">
<input type="checkbox">We
</label>
</div>
</div>
读取值的代码
$("#weekdays ").change(function(event){
var checkedDays = $("#weekdays :checkbox").map(function(){
return $(this).is(':checked') ? 1 : 0;
}).get(); // <----
var sun = checkedDays.pop();
checkedDays.unshift(sun);
console.log(checkedDays);
});
到现在为止还挺好。(即使我确信代码可以写得更好。)
但是,当我尝试以编程方式设置复选框的值并将其反映在 UI 中时,我的问题就出现了。我已经设法使用多种方法$(this).prop('checked', true)
等更改了复选框的值,这似乎更新了支持值,但它对更改按钮的外观没有任何作用。
我见过许多解决方案,但没有一个适用于 Bootstrap 3.0 推荐的设置复选框的方法btn-group
。有没有人有办法解决吗?