我還在學習jQuery的,但是這就是我想要當選擇單選按鈕,檢查並禁用複選框
如果以「16」的值的單選按鈕,選擇我要與類通訊的複選框什麼選中然後無法取消選中。
如果取消選擇值爲16的單選按鈕,我希望能夠再次使用該複選框。
我還在學習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