コードとデモ:http ://spotsync.com/res.net/portals/reo/snippets/radio.html
チェック状態のラジオボタンやチェックボックスに緑色の背景を追加しようとしています。
チェックボックスは正しく機能しますが、別のラジオボタンをオンにしても、その背景色は削除されません。ここで何が欠けていますか?
コードとデモ:http ://spotsync.com/res.net/portals/reo/snippets/radio.html
チェック状態のラジオボタンやチェックボックスに緑色の背景を追加しようとしています。
チェックボックスは正しく機能しますが、別のラジオボタンをオンにしても、その背景色は削除されません。ここで何が欠けていますか?
ラジオを操作するときは、入力のグループを操作するため、this is checked条件だけを使用することはできません。グループをフィルタリングする必要があります。
ここでそれをチェックしてください:http: //jsfiddle.net/PCkXS/
チェックボックスに追加することを忘れないでください。name=これはうまく機能します
$('input').change(function() {
$('input[name="' + this.name + '"]').parent().removeClass('greenBG')
.find(':checked').parent().addClass('greenBG');
});
私はそれを解決する方法を知っています病気はすぐにUAフィドルを与えます:-)
これは完全に機能します: http://jsfiddle.net/maniator/CujPG/2/
$(document).ready(function() {
$('input').change(function() {
if ($(this).is(':checked')) {
var children = $('.greenBG').children('input:not(:checked)');
if(children.length > 0){
$(children).each(function(){
$(this).parent().removeClass('greenBG');
})
}
$(this).parent().addClass('greenBG');
}
});
});