当选择单选按钮,检查并禁用复选框
问题描述:
我还在学习jQuery的,但是这就是我想要当选择单选按钮,检查并禁用复选框
如果以“16”的值的单选按钮,选择我要与类通讯的复选框什么选中然后无法取消选中。
如果取消选择值为16的单选按钮,我希望能够再次使用该复选框。
答
没有看到你的HTML,我假设一个简单的例子。下面是一些短期的jQuery做你问什么:
$('input[type="radio"]').click(function() {
$('input.newsletter').attr({
'checked': $(this).val() == 16,
'disabled': $(this).val() == 16
});
});
答
$("input[type=radio][name=<your radio button set name here>]").changed(function() {
if ($("input[type=radio][name=<your radio button set name here>]").val() == "16") {
$("input[type=checkbox].newsletter").attr('checked', 'checked');
$("input[type=checkbox].newsletter").attr('disabled', 'disabled'); //this is one way to make it not unselectable
}
else {
$("input[type=checkbox].newsletter").removeAttr('disabled');
}
}
另一种方法,使之不能成为未选择的是2号线的地方在上文(带有注释旁边)的if
把stayChecked = true;
和到位的$(...).removeAttr('disabled');
放stayChecked = false;
。然后,让类似下面的另一个功能:
$("input[type=checkbox].newsletter").changed(function() {
if (stayChecked) {
$(this).attr('checked', 'checked');
}
});
注意:您应该某处声明var stayChecked
两种功能外一个共同的水平(即在脚本级别,或者如果他们声明里面的父函数里面,让我们说,$(document).ready()函数)。
辉煌,+1,因为它非常通用 – 11684 2012-04-27 15:19:37
非常好...有什么方法可以修改它,所以如果选择了17个单选按钮,它不会取消选中复选框? – 2012-04-27 16:01:17
您可以将checked属性从上面更改为“checked”:$(this).val()== 16 || $( 'input.newsletter')。ATTR( '检查')!=未定义,'。 http://jsfiddle.net/j08691/8J5y9/2/ – j08691 2012-04-27 16:07:07