質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1269閲覧

jQueryで、<select>内でカスタムデータ属性を扱う方法

yayak

総合スコア66

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/05/30 16:27

編集2018/05/30 16:28

jQueryで、<select>内でカスタムデータ属性を扱う方法がわかりません。

例えば、選択肢で「AAA」が選ばれたら、「AAA」とアラート表示したいのですが、どうしてもできません。

試してみた方法は、以下の方法です。

HTML(各選択肢に、カスタムデータ属性を与える)

<select class="hoge"> <option data-select="AAA">AAA</option> <option data-select="BBB">BBB</option> <option data-select="CCC">CCC</option> </select>

JS(選択肢でAAAが選ばれた時の挙動)

var $data= $('.hoge [data-select]'); $data.on('change', function() { var $this = $(this); var $data2 = $this.attr('data-select'); if ($data2 == 'AAA') { alert("AAAが選択されました"); } });

JSが本当に苦手で、突っ込みどこが多いとは思うのですが、どうか、ご教授頂けましたら幸いです。

何卒、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

changeイベントを設定する箇所をselectにしましょう。

js

1$(function(){ 2 var $data= $('.hoge'); 3 4 $data.on('change', function() { 5 var $this = $(this); 6 var $data2 = $(':selected', $this).attr('data-select'); 7 8 if ($data2 == 'AAA') { 9 alert("AAAが選択されました"); 10 } 11 }); 12}) 13

しかし、valueではだめなのでしょうか。
valueなら、val()でシンプルに取得出来るのですが。

html

1<select class="hoge"> 2 <option value="AAA">AAA</option> 3 <option value="BBB">BBB</option> 4 <option value="CCC">CCC</option> 5</select>

js

1$(function(){ 2 var $data= $('.hoge'); 3 4 $data.on('change', function() { 5 var $this = $(this); 6 var $data2 = $this.val(); 7 8 if ($data2 == 'AAA') { 9 alert("AAAが選択されました"); 10 } 11 }); 12}) 13

投稿2018/05/30 17:32

kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yayak

2018/05/30 19:34

本当に有難うございます。実現できました。 そして、valueでやる方法までご教授頂けたこと、感動しました。 何時間も悩んでいたので、心の底から感謝申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問