jquery 未捕获的TypeError:Cannot read property 'current' of null - Select2.js on selection any option

yr9zkbsy  于 2023-11-17  发布在  jQuery
关注(0)|答案(5)|浏览(88)

Select2 on selection总是给出Uncaught TypeError: Cannot read property 'current' of null,当我在选择框中选择任何数据时,它会给我错误,并且它不会调用更改事件函数
html代码

<select name="sono[]" id="sonoDetails" class="select2 form-control select2-hidden-accessible" tabindex="-1" aria-hidden="true">
    <option value="">Select SO No</option>
    <option value="5" data-bookingtime="2015-10-16 21:00:00">5</option>
    <option value="4" data-bookingtime="2015-10-17 20:15:00">4</option>                         
</select>

字符串
获取initialize select2on change事件处理程序数据的JS代码

$(document).ready(function(){
    $(".select2").select2();
    $(document).on("change","select[name='sono[]']",function(){//
        var me = $(this);
        var sono = me.select2("val");
          console.log(sono);
    }); 
 });


它运行良好,只有第一次之后,它总是返回Uncaught TypeError: Cannot read property 'current' of null在js.
我想为每个选择更改事件工作,但现在它只运行一次
帮助解决这个问题

mklgxw1f

mklgxw1f1#

你应该在jquery中链接select2()和瓦尔()函数,而不是尝试使用select2()函数并将瓦尔作为其参数。

$(document).ready(function(){
  $(document).on('change', "select[name='sono[]']", function() {
    var sono = $('.select2').select2().val()
    console.log(sono)
  })
})

字符串
`

a0x5cqrl

a0x5cqrl2#

你可以试试这个…

$(document).ready(function(){
    $(".select2").select2().on("change", function (e) {
        console.log("change",$(this).val());
    });
});

字符串
http://jsfiddle.net/ve3ntc6q/

r1wp621o

r1wp621o3#

我也有同样的问题。
我通过确保传递到select2的所有JSON对象不为null或空来修复它。然后一切正常。* 这发生在我的Select 4.0.5版本上。*

ig9co6j1

ig9co6j14#

试试这个...这解决了我的问题

$("select").change(function () {
...
});
with:
$("select").on("select2:select select2:unselecting", function () {
...
});

字符串

9lowa7mx

9lowa7mx5#

我能够使用以下代码提取数据属性值。

$("#sonoDetails").on("change", function(e) {
       var bookingtime = $(this).find(":selected").data("bookingtime");
});

字符串

相关问题