如何记录“select2”选中的值

时间:2015-10-01 08:23:18

标签: javascript jquery-select2

我使用“Select2”作为下拉列表 现在我希望我的页面内容可以根据我在Select2中的选择进行更改。

我正在前进并且已经来到这里:

JS

$(document).ready(function(){
// display logs
function log(text) {
  $('#logs').append(text + '<br>');
}
//SELECT2
$( ".select2_choose_objnr" ).select2({
    placeholder: "Välj Objekt..",
    ajax: {
        url: "php.php",
        type: "POST",
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                q: params.term // search term
            };
        },
        processResults: function (data) {
            return {
                results: data
            };
        },
        cache: true
    },
  }).on("change", function(e) {
      log("change val=" + e.val);
    });
});

从这个Js,我得到:val = undefined
如何更改我的代码以获取所选的值/文本?

2 个答案:

答案 0 :(得分:4)

对于v4.0.3

change回调中,调用$(this).val()以检索所选值的数组

.on("change", function(e) {
    log("change val=" + $(this).val());
});

val()是一个函数,而不是属性,您想在$(this)

上调用它

答案 1 :(得分:2)

您可以访问完整数据

.on('change', function(e) {
    // Access to full data
    console.log($(this).select2('data'));
});