我有一个小表格。在此表单中,如果选择项目或项目b ,则应勾选第三个复选框。禁用此复选框,用户无法自行加厚。取消选中项目或项目b 后,第三个必需项目应保持检查状态,但如果两个项目都未选中,则应取消选中所需项目。
<p><input type="checkbox" value="50.00" class="itema" />Item a</p>
<p><input type="checkbox" value="40.00" class="itemb" />Item b</p>
<p><input type="checkbox" value="1" class="item2" disabled />Required by item a and b</p>
使用下面的代码我得到了它的检查工作,但我不知道如何完成条件取消检查
$(function () {
$('.itema').change(function () {
$('.item2').prop('checked', true);
})
$('.itemb').change(function () {
$('.item2').prop('checked', true);
})
});
这是一个更多代码的小提琴 http://jsfiddle.net/mthomas/ejQjP/10/
答案 0 :(得分:1)
我知道这不是100%为你完成的工作,但我认为这是你遇到问题的地方,所以我建议你从这里开始。
您想要检查更改功能
中复选框的状态$('.item1').change(function () {
var isChecked = $(this).is(':checked'); // will be true after checking and false when unchecking
$('.item2').prop('checked', isChecked)
.prop('disabled', isChecked)
.change();
})
编辑您可能希望在新选中的复选框
上触发更改事件 PS:没有理由每个$(document).ready(function () {
&amp; $(function () {
可以合而为一。
答案 1 :(得分:0)
$(function () {
$('.itema , itemb').change(function () {
var isChecked = $('.item2').is(':checked');
var isChecked1 = $('.item1').is(':checked');
if(isChecked == true && isChecked1 == true)
$('.item2').prop('disabled', true);
else
$('.item2').prop('disabled', false);
})
});