如何记录 "select2" 所选值

How to log "select2" selected value

我使用 "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
我如何更改我的代码以获取选定的 value/text?

对于 v4.0.3

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

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

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

上调用它

您可以访问完整数据

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