表单重新加载后,未选择select2 4.0远程数据

时间:2017-05-04 04:42:32

标签: javascript ajax jquery-select2

从3.5版本迁移到4.0.3版本后,我在select2中遇到了一些麻烦。

我有一个带输入的表单:

  <div class="form-group ">
      <label class="control-label" for="equipment">Address of equipment</label>
      <select class="form-control" id="equipment" name="equipment"></select>        
  </div>

并有一个js代码:

        $("#equipment").select2({
            minimumInputLength: 2,
            ajax: {
                type: 'GET',
                url: options.equipmentsURL,
                data: function (params) {
                    return {
                        q: params.term // search term
                    };
                },
                processResults: function (data, page) {
                    var objects = data.objects;
                    var results = [];
                    for (var i=0; i < objects.length; i++){
                        var text = objects[i]['__str__'];
                        results.push({'id': objects[i].id, 'text': text});
                    }
                    return {results:results};
                }
            },

        });

Ajax加载工作正常,但如果用户选择某个选项并重新加载表单(刷新浏览器或在表单中出现一些错误),则会重置所选选项。为避免3.5版本中出现此问题,我从输入中获取选定值:

 $('equipment').val(); 

并初始化select2 usinig initSelection回调。 在4.0版本中,我无法找到获取所选值的位置,选择输入在重新加载后没有选项。

0 个答案:

没有答案