0

テキストエリア、テキスト、チェックボックス、ボタンを含むフォームがあります。以下のように要素を選択します。

$("#frmPersonalInfo :input:not(input[type=radio]):not(input[type=button])").each(function(){  
  //code here
});

を省略するとnot(input[type=radio])、ラジオ要素が選択されます。すべての無線入力ではなく、チェック済みの無線 (アクティブな無線) を選択したい。これを行う方法はありますか?
ラジオの HTML コードは次のとおりです。

<input type="radio" checked="checked" id="txtPersonalInfoMale" name="gender" value="1" />
<input type="radio" id="txtPersonalInfoFemale" name="gender" value="2" />
4

4 に答える 4

4

:checkedチェックされたすべてのチェックボックスを選択するために使用し、

$("#frmPersonalInfo :input[type=radio]:checked").each(function(){  
  //code here
});

いくつかの入力タイプを選択したい場合は、この方法で行うことができますが、カスタマイズする必要があります。

ライブデモ

$("#frmPersonalInfo :input").not(':button').not(':text').filter(function(){
    if($(this).attr('type') == 'radio' && $(this).attr('checked') == 'checked')
    return $(this);
}).each(function(){
   //Your code here
});
于 2012-08-03T13:15:27.803 に答える
2

これは最良の方法ではないかもしれませんが、以下はうまくいくはずです

  $("#frmPersonalInfo :input:not(input[type=radio]):not(input[type=button]),#frmPersonalInfo :input[type=radio]:checked").each(function(){  
//code here
  });
于 2012-08-03T13:36:46.480 に答える
0

私が望むものを達成するために、私は次のことをしました:

            var cnt=0;
            $("#frmPersonalInfo :input[type=radio]:checked").each(function(){
                    personalInfoArr[cnt++]=$(this).val();
            });
            $("#frmPersonalInfo :input:not(input[type=radio]):not(input[type=button])").each(function(){
                    personalInfoArr[cnt++]=$(this).val();
            });

それを行うより良い方法はありますか?

于 2012-08-03T13:34:22.187 に答える
-2

こんなはずじゃないの?なぜすべての :not ?

$("#frmPersonalInfo input[type=radio]:selected").each(function(){  
      //code here
});

おい、多分私はあなたの質問を理解していませんでした。jQuery には「:selected」セレクターがあります。ここですべての情報を見つけることができます:

http://api.jquery.com/selected-selector/

于 2012-08-03T13:19:16.930 に答える