【发布时间】:2014-08-23 10:25:43
【问题描述】:
Whelp,我已经盯着/谷歌搜索了一个小时,所以我想是时候向 SO 寻求帮助了。
基本上,我有一个在input 复选框上运行的插件,其中每个复选框都嵌套在相应的label 中。选中一个复选框应该会发生一些事情,但前提是父 label 未被禁用。使用我的代码,它正在执行 all 复选框的操作,无论它们是否应该被禁用。
HTML:
<label class="btn btn-primary btn-lg bottom-margin-tiny opacity btn-block" >
<input class="hidden" type="checkbox" name="chapters[]" value="3">
<i class="fa fa-book"></i> Chapter 3
</label>
<label class="btn btn-primary btn-lg bottom-margin-tiny opacity btn-block" disabled>
<input class="hidden" type="checkbox" name="chapters[]" value="4">
<i class="fa fa-book"></i> Chapter 4
</label>
JS:
var pluginDiv = this; // Defined in my plugin, works fine
var pluginCheckboxButtons = this.find("input[type='checkbox']").filter(function(){
return !($(this).parent().prop("disabled"));
});
pluginCheckboxButtons.change(function() {
// Does a thing
});
【问题讨论】:
-
我认为
<label>元素没有disabled属性(当然不是有效的disabled属性)。
标签: javascript jquery twitter-bootstrap checkbox