0

これは簡単な質問のように聞こえますが、何らかの理由で今は理解できません。私の質問はこれです、私のページに2つのラジオボタンがあるとしましょう:

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

私がやりたいのは、ラジオボタンをクリックした場合はそれにクラス名を追加し、他のラジオボタンをクリックした場合は同じクラスをその新しいクリックしたラジオボタンに追加したいということです。前のクラスに追加したクラスを削除したい、などなど。

何かアイデアをお願いしますか?

4

3 に答える 3

6

これを試して。

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

デモ

于 2012-01-28T04:50:52.993 に答える
3

まあ、次のようなものがそれを行うことができます:

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

デモ: http://jsfiddle.net/yH6ur/

実際のプロジェクトのラジオ ボタンが実際には兄弟ではない場合 (ラベル要素などでラップされているため)、Shankar Sangoli の回答に従って実行してください。

于 2012-01-28T04:51:13.573 に答える
1

これは、毎回名前を指定する必要がないように、任意のラジオ オプションに適用するために私が行った方法です。私はこれに慣れていないので、誰かがそれについて何か言うことがあると確信しています. 親は、CSSをボタンとして持っているラベルです

$(".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 は入力自体のクラスです。

于 2014-07-04T04:32:30.450 に答える