4

jquery-select2プラグインを使用しており、AJAX によって自動入力される次のフィールドがあります。

<input type="hidden" id="player2" class="form-control select2">

これがJavaScriptです:

$('#player2').select2({
    placeholder: "Select an opponent",
    allowClear: false,
    ajax: {
        dataType: "json",
        url: "getUsers.php",
        data: function (term) {
            return {
                q: term, // search term
            };
        },
        results: function (data) {
            console.log(data);
            return {results: data};
        },

    }
}); 
console.log($("#player2").select2("val"));

結果関数内の console.log に表示されるデータは、[{"id":"someone@gmail.com", "text":"someone"}] のように構造化されています。

選択肢が選択された後、console.log($("#player2").select2("val")) を試みると ID が表示されますが、テキストを取得できないようです。この場合、次のいずれも「someone」のテキスト値を取得するために機能せず、どこが間違っているのかわかりません。

$("#player2 option:selected").text()
$("#player2 option:selected").select2().text()
$("#player2").text()
4

5 に答える 5

4
  $("#player2").select2('data')[0].id;
  $("#player2").select2('data')[0].value;
于 2015-09-03T14:58:32.707 に答える
1
$("#player2").select2('data').text

バージョン 3.5.1 の使用

于 2014-11-10T19:08:22.413 に答える
0
// this will give you value of selected element.
$("#player2").val(); 
于 2017-02-14T08:40:47.927 に答える