web-dev-qa-db-ja.com

Select2選択したオプションデータを取得する

$("#e2").select2("val")は値を返しますが、.$listtypes['name'] .データ名またはオプションタグ表示からのエーテル。

選択したオプションのオプションのデータ名を取得したいのですが、どうすればこれを達成できますか?

これは私のオプションジェネレータです

foreach($core->list_types() as $listtypes){
echo "
<option 
  data-name='".$listtypes['name'] ."' 
  value='".$listtypes['id']."'>
  ".$listtypes['name'] ."
</option>";
}
21
Kavvson

これを使用できます

$("#e2 option:selected").text();
33
xploshioOn

これを試してください:

$('#e2').select2('data')

選択したオプションデータを返す

18
Sasha Stadnik

私のためのこの仕事:

単純なselect2でラベル値を取得するには:

$('#myVar').select2('data')[0].<name_label_from_data_input>

select2変数からのデータダンプを行うと役立つ場合があります。

$('#myVar').on('change', function (evt) {
  if ($('#myVar').select2('val') != null){
    console.log($('#myVar').select2('data')[0]);    
  }
});

そして、ラベルのname属性をキャッチします。

がんばろう!

6
Luis Morales

@Kishanと@xploshioOnの回答はv4.0 +では機能しないようです。

これを試してください:$("#e2").text().trim()

2
Hank

セレクタでattrメソッド.attr("data-name")を使用します。

0
Kishan