1. ホーム
  2. c

[解決済み] How to get Selected Text from select2 when using <input>

2023-05-28 11:11:57

Question

I am using the select2 control, loading data via ajax. This requires the use of the <input type=hidden..> tag.

Now, I want to retrieve the selected text. (The value property in the data-bind expression sotres the id only)

I have tried $(".select2-chosen").text() , but this breaks when I have multiple select2 controls on the page.

How to solved?

As of Select2 4.x, it always returns an array, even for non-multi select lists.

var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);

Select2 3.x以下の場合

シングルセレクトです。

var data = $('your-original-element').select2('data');
if(data) {
  alert(data.text);
}

選択項目がない場合、変数'data'はnullになることに注意してください。

マルチセレクトです。

var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);
alert(data[1].text);
alert(data[1].id);

3.xから ドキュメント :

data 選択範囲を取得または設定します。valメソッドと似ていますが、IDではなくオブジェクトで動作します。 しかし、IDの代わりにオブジェクトで動作します。

未設定の値を持つ単一選択に対して起動されたdataメソッドは、nullを返します。 を返します。一方、空のマルチセレクトに対して起動されたデータメソッドは [].