JQuery select2 e.val 更改时未定义

JQuery select2 e.val undefined on change

我的 select2 change 事件没有触发 e.val

代码:

$(".clienteselect").select2({
        width: "200",
        placeholder: "<?php echo $dicescolhecli; ?>",
})
.on("change",function(e){
    console.log(e.val) ;
});

HTML

<select class="clienteselect">
    <option></option>
    <option value="1"> Manuel Silva </option>
    <option value="2"> Luis Antonio </option>
    <option value="3"> Jose Rodrigues </option> 
</select>

e.val 总是 returns undefined。我错过了什么吗?

e 是对您订阅的 change 事件的引用,您可以使用目标(html 元素)获取您的 select2 组件并找到值:

$(".clienteselect").select2({
  width: "200",
  placeholder: "Select",
}).on("change",function(e){
  console.log($(e.target).select2("val"));
});

希望这对您有所帮助。