$("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行目の代わりにあります。そして、次のような別の関数を作る:
$("input[type=checkbox].newsletter").changed(function() {
if (stayChecked) {
$(this).attr('checked', 'checked');
}
});
注:あなたは、彼らが内部で宣言されている場合(スクリプトレベルまたは親関数の内部、つまり一般的なレベルにある2つの関数の外のどこかvar stayChecked
を宣言する必要がありますいずれか、のは言わせて、$(document).ready()関数)を呼び出します。
非常に一般的なので+1 – 11684
非常にいいです... 17ラジオボタンが選択されている場合は、チェックボックスをオフにしないので、それを変更する方法はありますか? –
上記のチェックされた属性を '' checked ''に変更することができます:$(this).val()== 16 || $( 'input.newsletter')。attr( 'checked')!=未定義です。 http://jsfiddle.net/j08691/8J5y9/2/ – j08691