我正在尝试在检查复选框时禁用字段集中的2个选择字段。我也尝试了null
或getElementById
或getElementsByTagName
等方法,但它不起作用..
我希望在检查时将.attr()
添加到disabled
:
fieldset
复选框:
<fieldset id="test" disabled>
<div class="col-lg-6">
<?php echo $this->Form->input('frequency_remarks'); ?>
</div>
<div class="col-lg-6">
<?php echo $this->Form->input('duration_remarks'); ?>
</div>
</fieldset>
剧本:
<div class="checkbox">
<label for="CommentFrequencyOk">
<input type="hidden" name="data[Comment][frequency_ok]" id="CommentFrequencyOk_" value="0" />
<input type="checkbox" name="data[Comment][frequency_ok]" class="checkbox" value="1" id="CommentFrequencyOk" /> Frequency
</label>
</div>
答案 0 :(得分:5)
建议:
on('change')
绑定事件,checked()
无效事件prop
设置disabled
状态checked
属性更改fieldset
attr()
setAttribute
代替$('#test')
醇>
$('#CommentFrequencyOk').on('change', function() {
$('#test').prop('disabled', this.checked);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<fieldset id="test">
<div class="col-lg-6">
<input id="frequency_remarks" />
</div>
<div class="col-lg-6">
<input id="duration_remarks" />
</div>
</fieldset>
<div class="checkbox">
<label for="CommentFrequencyOk">
<input type="hidden" name="data[Comment][frequency_ok]" id="CommentFrequencyOk_" value="0" />
<input type="checkbox" name="data[Comment][frequency_ok]" class="checkbox" value="1" id="CommentFrequencyOk" />Frequency
</label>
</div>
&#13;
答案 1 :(得分:1)
这应该这样做。现在,您只需插入选择字段ID而不是测试。
$('#CommentFrequencyOk').change(function() {
$('#test').prop('disabled', $(this).prop('checked'));
});