TopJavaScriptjQuery > 2013年8月
2013年8月13日

jQueryでselect要素のテキストを取得する方法

August 13,2013 12:33 AM
Tag:[]
Permalink

jQueryでselect要素のテキストを取得する方法を紹介します。

このエントリーでは、

  • プルダウンで選択したoption要素のテキスト取得
  • select要素内のすべてのoption要素のテキスト取得
  • 指定したテキストに合致するoption要素を選択状態にする方法

について解説します。

それぞれのサンプルも用意しています。

1.選択したオプションのテキストを取得する

選択したオプションのテキストを取得するには「opstion:selected」とtext()を組み合わせます。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
    jQuery('#foo').change(function(){
        alert(jQuery('option:selected').text());
    });
});
</script>
<select id="foo">
  <option value=""></option>
  <option value="a">あ</option>
  <option value="b">い</option>
  <option value="c">う</option>
</select>
サンプル1

フォーム送信時にも同様の処理で取得できます。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
    jQuery('#bar').submit(function(){
        alert(jQuery('option:selected').text());
    });
});
</script>
<form id="bar" name="bar" action="">
  <select id="foo">
    <option value=""></option>
    <option value="a">あ</option>
    <option value="b">い</option>
    <option value="c">う</option>
  </select>
  <input type="submit" value="send" />
</form>

2.すべてのoption要素のテキストを取得する

すべてのoption要素のテキストを取得するには、children()ですべてのoption要素を取得し、for文の中でtext()を実行します。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
    var obj = jQuery('#foo').children();
    for( var i=0; i<obj.length; i++ ){
        alert( obj.eq(i).text() );
    }
});
</script>
<select id="foo">
  <option value=""></option>
  <option value="a">あ</option>
  <option value="b">い</option>
  <option value="c">う</option>
</select>

for文の中で使っているeq()は、指定した位置の要素を取り出すメソッドです。

サンプル2(ページを開くとalertでテキストが繰り返し表示されます)

3.指定したテキストに合致するoption要素を選択状態にする

2項の応用で、指定したテキストに合致するoption要素を選択状態にするには、テキストが合致するoption要素のvalue属性値を、selct要素のval()に設定します。

以下のサンプルではoption要素が「い」を選択状態にします。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
var text = 'い';
jQuery(function(){
    var obj = jQuery('#foo').children();
    for( var i=0; i<obj.length; i++ ){
        if ( text == obj.eq(i).text() ) {
            jQuery('#foo').val(obj.eq(i).val());
        }
    }
});
</script>
<select id="foo">
  <option value=""></option>
  <option value="a">あ</option>
  <option value="b">い</option>
  <option value="c">う</option>
</select>
サンプル3(ページを開くと必ず「い」が選択された状態になります)
Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3