我想根据其他复选框选中的属性切换复选框组的禁用属性 复选框组的Html代码是:
<div class="checkbox-group">
<div class="col1">
<p>
<input type="checkbox" name="backpack" id="backpack" tabindex="170" />
<label for="backpack">Backpack Cal</label>
</p>
<p>
<input type="checkbox" name="calm" id="calm" tabindex="180" />
<label for="calm">California Calm</label>
</p>
<p>
<input type="checkbox" name="hotsprings" id="hotsprings" tabindex="190" />
<label for="hotsprings">California Hotsprings</label>
</p>
</div>
<div class="col2">
<p>
<input type="checkbox" name="cycle" id="cycle" tabindex="210" />
<label for="cycle">Cycle California</label>
</p>
<p>
<input type="checkbox" name="desert" id="desert" tabindex="220" />
<label for="desert">From Desert to Sea</label>
</p>
<p>
<input type="checkbox" name="kids" id="kids" tabindex="230" />
<label for="kids">Kids California</label>
</p>
</div>
<div class="col3">
<p>
<input type="checkbox" name="nature" id="nature" tabindex="240" />
<label for="nature">Nature Watch</label>
</p>
<p>
<input type="checkbox" name="snowboard" id="snowboard" tabindex="250" />
<label for="snowboard">Snowboard Cali</label>
</p>
<p>
<input type="checkbox" name="taste" id="taste" tabindex="260" />
<label for="taste">Taste of California</label>
</p>
</div>
</div>
切换按钮的Html代码是
<div id="group-toggle">
<input type="checkbox" name="bike_check" id="bike_check" /> <label for="bike_check">I own, or will otherwise provide, my own bicycle</label>
</div>
jquery代码是
var $checkbox= $('.checkbox-group').find('input[type=checkbox]');
$checkbox.prop('disabled',true);
$('#bike_check').click(function() {
var $toggle=$(this);
});
$checkbox.prop('disabled',!$toggle.prop('checked'));
我能够使用if-else语句但不是这样做,我做错了什么
答案 0 :(得分:1)
您只需要更改一行
<强>要么强>
放置
单击处理程序中的$ checkbox.prop(! '禁用',$ toggle.prop( '检查'));
因为您无法访问作用域外的$toggle
变量,所以您必须在单击处理程序中执行操作
$('#bike_check').click(function() {
var $toggle=$(this);
$checkbox.prop('disabled',!$toggle.prop('checked'));
});
或强>
在点击处理程序之外声明$toggle
变量,并在click()