启用两个提交按钮上的复选框单击
Enable both submit button on checkbox click
我在一个页面中使用了两个表单,但是当我点击复选框时,两个提交按钮都是活动的,但它们都是不同的。
我想点击表单一复选框然后是唯一激活的表单一提交按钮然后我点击表单二复选框然后是唯一激活的表单二提交按钮
var checkboxes = $("input[type='checkbox']"),
submitButt = $("input[type='submit']");
checkboxes.click(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
<h1>form one</h1>
<form>
<div>
<input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
<h1>form two</h1>
<form>
<div>
<input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
您可以相对搜索提交按钮并只启用您找到的最接近的按钮:
var checkboxes = $('input[type="checkbox"]');
checkboxes.on('click', function(e) {
$(this).closest('form')
.find('input[type="submit"]')
.prop("disabled", !$(this).is(":checked"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>form one</h1>
<form>
<div>
<input type="checkbox" name="option-0" id="option-0"> <label for="option-0">Option 0</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
<h1>form two</h1>
<form>
<div>
<input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
最简单的方法是在同一个<form>
祖先中找到提交的<input>
元素:
$('input[type=checkbox]').on('change', function(){
$(this).closest('form').find('input[type=submit]').prop('disabled', !this.checked);
});
$('input[type=checkbox]').on('change', function() {
$(this).closest('form').find('input[type=submit]').prop('disabled', !this.checked);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>form one</h1>
<form>
<div>
<input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
<h1>form two</h1>
<form>
<div>
<input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 1</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>
请注意,在您的HTML中,我还纠正了两个<input>
元素的重复id
(并更改了name
属性)。
相关文章:
- 复选框/单选按钮-添加所选项目的总价
- 单选按钮的验证(启用)&使用Jquery Optimization从复选框中选择submit按钮
- 单击单选按钮时选中所有复选框
- 在jquery中选中复选框时启用confirmbox按钮
- 基于单选按钮和复选框的数据表排序
- JavaScript - 如果未选中复选框,则取消选中单选按钮
- 如果未选中复选框,则禁用引导输入按钮
- 如果用户未选中复选框或选择按钮,如何为复选框或单选按钮设置一些默认值
- JavaScript - 如果选中任何复选框,请选择单选按钮
- 用于控制单选按钮的复选框
- 样式为 -webkit-外观的单选按钮:复选框:Chrome 中的不确定状态
- Ajax + 浏览器后退按钮 = 复选框不起作用
- 引导数据切换单选按钮/复选框选中属性
- 如何绑定引导按钮复选框和表单
- 按钮复选框不保存选中的
- 在Twitter Bootstrap 3按钮(复选框)仍然是灰色后,它是未检查的
- 在Highcharts中使用按钮/复选框显示/隐藏数据的示例
- 散景-检查复选框与按钮/复选框回调
- 单选按钮+复选框组合
- 尝试提交“按钮复选框”的集合