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,但我似乎无法得到文本。在这种情况下,以下任何一项都无法获取“某人”的文本值,我看不出哪里出错了。

$("#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 回答
0
.on("select2:select", function(e) {
    console.log(e.params.data.id);
});
于 2017-09-18T14:22:36.800 回答
0

我使用了表单标签并使用提交事件捕获了值的 id。

$("#Selector").submit(function (event) {
  console.log($("#Selector").serialize())
});
//other option is below 
$("#select_machine").select2('data')[0].text
于 2017-05-11T10:47:05.210 回答