SQLの窓

2013年03月16日


jQuery (とDOM) で選択した SELECT 要素( コンボボックス ) の表示されているテキストを取得する

jQuery で取得するのは簡単ですが、場合によってはDOM を使えたほうがいい場面があるかもしれません。(name 属性を持つ要素であれば、document.getElementsByName の [0] を使ってエレメントを特定できます)
<script>
if ( !window.jQuery ) {
	document.write("<"+"script src=\"//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js\"></"+"script>");

}
</script>
<select name="font">
<option value="ArmedBanana">アームド・バナナ</option>
<option value="kirieji">切絵字1.0</option>
<option value="mofuji">モフ<b style='color:#f00;'>字</b>1.3</option>
<option value="minamoji">水面字1.1</option>
</select>
<input type="button" id="get_text" value="選択されたテキスト" />
<input type="text" id="result_text" />
<script type="text/javascript">

// ボタンのクリックイベント
$("#get_text").click( function() {
	// ************************************************
	// jQuery
	// ************************************************
	// コンボボックスそのもの
	var combo = $('select[name="font"]');
	// 選択されたコンボボックスのオプション
	var combo_option = $('select[name="font"] option:selected');

	// 選択された OPTION のテキスト
	var selected_text = combo_option.text();
	// 入力フィールドに、選択された OPTION のテキストをセット
	$("#result_text").val(selected_text);

	// 選択されたインデックス番号
	var nIndex = combo.prop("selectedIndex");
	console.log(nIndex);

	// 選択されたインデックス番号をエレメントから取得した場合
	var el = combo.get(0);	// jQuery のオブジェクトから DOM( パターン1 )
	console.log(el.selectedIndex);

	el = combo[0];		// jQuery のオブジェクトから DOM( パターン2 )
	console.log(el.selectedIndex);

	el = document.getElementsByName("font")[0];	// DOM
	console.log(el.selectedIndex);

	// 選択されたテキストをエレメントから取得した場合
	var childs = el.getElementsByTagName("option");
	selected_text = childs[nIndex].firstChild.nodeValue;
	console.log(selected_text);

});

</script>




タグ:jquery javascript
【jQueryの最新記事】
posted by lightbox at 2013-03-16 20:15 | jQuery | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり