2012-01-28 23 views
0

これは簡単な質問のように聞こえるが、何らかの理由で私はただ今それを理解できない。jqueryの2つのラジオボタンの間でクラスを切り替える

<input type="radio" checked="checked" name=sport value="soccer" /> 
<input type="radio" name=sport value="basketball" /> 

私がやりたいことは、私はラジオボタンをクリックした場合、私はそれにクラス名を追加したいということで、もし:私の質問は、これは、のは、私は私のページ上の2つのラジオボタンを持って言わせています私は....私はその新しいクリックされたラジオボタンに同じクラスを追加したいと私は、私はその前の、取り外し1に加え、クラスをしたい、他のラジオボタンをクリックし

任意のアイデアしてください?

答えて

5

これを試してください。

$("input[name='sport']").click(function(){ 
    $("input[name='sport']").removeClass('className'); 
    $(this).addClass('className'); 
}); 

Demo

3

さて、このようなものは、それを行うことができます:

$('input:radio[name="sport"]').click(function() { 
    $(this).addClass("yourclasshere") 
      .siblings('input:radio[name="sport"]').removeClass("yourclasshere"); 
}); 

デモ:あなたの本当のプロジェクトでのラジオボタンは、実際に兄弟ではありませんhttp://jsfiddle.net/yH6ur/

場合(彼らはラベルの要素などで包まれているので)、Shankar Sangoliの回答。

1

これは私がラジオオプションに適用する方法で、毎回名前を指定する必要はありません。私はこれに新しいことを覚えているので、誰かがそれについて何か言いたいと思います。親は私がボタン

$(".noradio").on('click', function(){ 
    var n=$(this).attr("name"); 
    $("input[name='"+n+"']").parent().removeClass('active').removeAttr('checked'); ; 
    $(this).parent().addClass('active').attr('checked', 'checked'); 
}); 

ああと.noradio入力自体のクラスがあるとして、CSSているラベルです。

関連する問題