2010年05月06日

jqueryでラジオボタンのラベルを取得する

ラジオボタンの値を取得する方法は色々なところで紹介されているが、

ラジオボタンのラベルの値が欲しいことがあった。

そんな時に試行錯誤の上に考えた方法。(あんまり需要はないだろうけど。。。)

まず、以下のようなhtmlがあるとする。

<input type="radio" name="sexId" value="1" />男
<input type="radio" name="sexId" value="2" />女

選択されたvalue値を取得するには以下の方法で出来る。

var val = $("input:radio[name='sexId']:checked").val()

今回やりたいのは、ラベル(男、女)の値が欲しい。value値は変えられない前提。

色々、探して以下のサイトを参考にした。

http://ascii.jp/elem/000/000/456/456040/index-2.html

まず、htmlは以下のようにする。

<input type="radio" name="sexId" value="1" id="man"/><label for="man">男</label>
<input type="radio" name="sexId" value="2" id="woman"/><label for="woman">女</label>

scriptでは、以下のようにした。

var val = $("label[for='"+$("input:radio[name='sexId']:checked").attr("id")+"']").text();

label forで、テキスト部分でチェックも出来るしいい感じ。

もっとスマートな方法があるかもしれないけど、一応できたから良しとしよう。


ちなみにセレクトボックスの選択されてるオプションのラベルの取得は、

$('#[selectのid名前] option:selected').text();
または、
$('#[selectのid名前]').children(':selected').text():

という感じです。

以上


posted by hana at 16:28| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。