jquery-select2从选择框中获取ID和文本?

时间:2014-11-10 18:37:47

标签: javascript jquery jquery-select2 jquery-select2-3

我正在使用 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中的shwon,结构如下:[{&#34; id&#34;:&#34; someone@gmail.com",&#34 ;文本&#34;:&#34;有人&#34;}]

选择选项后,尝试console.log($(&#34;#player2&#34;)。select2(&#34; val&#34;))给我ID,但我可以&#39 ;似乎得到了文字。以下所有方法都无法获得&#34;某人&#34;的文本值。在这种情况下,我不知道我哪里出错了。

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

5 个答案:

答案 0 :(得分:3)

  $("#player2").select2('data')[0].id;
  $("#player2").select2('data')[0].value;

答案 1 :(得分:1)

$("#player2").select2('data').text

使用版本3.5.1

答案 2 :(得分:0)

// this will give you value of selected element.
$("#player2").val(); 

答案 3 :(得分:0)

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

$("#Selector").submit(function (event) {
  console.log($("#Selector").serialize())
});
//other option is below 
$("#select_machine").select2('data')[0].text

答案 4 :(得分:0)

.on("select2:select", function(e) {
    console.log(e.params.data.id);
});