【发布时间】:2018-03-20 19:34:58
【问题描述】:
当用户检查某些选项时,我想禁用表单中的上一个按钮。因此,如果他选择 ID 1 OR 2 OR 3,则必须禁用上一个按钮。
但如果用户选择了 1 而不是 2 OR 3,则上一个按钮必须保持禁用状态。如果他没有选择 1 OR 2 OR 3,则必须启用上一个按钮。
我尝试了以下方法:
$.each(["1", "2", "3"], function(index, mainOption) {
$('#option_' + mainOption).change(function() {
if ($(this).prop('checked')) {
$('#previous_button').prop('disabled', true);
} else {
$('#previous_button').prop('disabled', false);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="checkbox">
<li class="option_1">
<input name="input_1" type="checkbox" value="option1" id="option_1">
<label>Option 1</label>
</li>
<li class="option_2">
<input name="input_2" type="checkbox" value="option2" id="option_2">
<label>Option 2</label>
</li>
<li class="option_3">
<input name="input_3" type="checkbox" value="option3" id="option_3">
<label>Option 3</label>
</li>
</ul>
<input type="button" id="previous_button" class="previous_button button" value="Back">
所以你看到取消选中其中一个会启用按钮
我试过了,但这并不完全符合我的要求,使用此按钮将在选中 1 OR 2 OR 3 时启用,而取消选中其中一个将启用该按钮。那不是我想要的。如果选中其中一个选项,则上一个按钮必须保持禁用状态。仅当其中一个没有被选中时,才必须启用该按钮。
【问题讨论】:
-
为什么不使用类并在其上运行函数?
-
因为选项没有特定的类,只有特定的 ID @ThisGuyHasTwoThumbs
-
所以你可以编辑JS而不是html?
-
@ThisGuyHasTwoThumbs 是的,它是一个 CMS 插件。
-
@Jackowski 最好在问题文本编辑器中使用 sn-p 功能,以便将代码托管在 Stackoverflow 上。
标签: javascript jquery