jqueryでradioの値を取得するとおかしいかも??
Memoです。
複数のradioグループが(nameが複数)ある場合に、
前提はたとえばこれ↓
<input type="radio" name="a" value="1" checked> <input type="radio" name="a" value="2"> <input type="radio" name="b" value="1"> <input type="radio" name="b" value="2" checked> <input type="radio" name="c" value="1"> <input type="radio" name="c" value="2" checked>
の check されている方のValueは何?ってのをjqueryを使って取得して、
alert( $("input[@name='a']:checked").val() ); alert( $("input[@name='b']:checked").val() ); alert( $("input[@name='c']:checked").val() );
alertで出してみると。
1 1 1
となる。
一番はじめに出てくるradioの値が、その後出てくるradioの値にも反映されているような感じ。
仮に、aをvalue="2"にチェック入れて他のを変えて動かすと、すべて"2"と表示される。
むむむ。
一組しかない場合は、ちゃんと取れる。
めんどくさいので解析せずに、jqueryを使わない方法で逃げました。
※今日時点の最新版、jquery-1.3.2.min.jsでもそうでした。
追記(2009/03/05)
この現象が起こったのは、jquery-1.3.1.jsです。