jquery select2追加所选项目?

时间:2015-07-22 06:31:05

标签: javascript jquery jquery-select2

我尝试使用ajax从多选jquery select2中选择一个项目

HTML

<select name="schools" id="schools" multiple='multiple'>
  <option value="-1000">select all</option>
  <option value="35102907">org1</option>
</select>

JS

$("#schools").select2({
  ajax: {
    url: "ajax_controller.php",
    dataType: 'json',
    data: function (params) {
        return {
            a: 'getSchoolList',
            c: 'model_milk_contract',
            p: [params.term],
            cs: csrf
        }
    },
    processResults: function (response) {
      return {
         results: $.map(response, function(obj) {
            return { id: obj.org_code, text: obj.org_name };
         })
      }
    }
  }

});

但是当选择了一个项目时,jquery在控制台中说:

  

未捕获的TypeError:无法执行&#39; appendChild&#39; on&#39; Node&#39;:参数1不属于&#39; Node&#39;。

然后我试图找到问题,经过一段时间我发现在jquery核心的下面,ret[i]必须是node object,但它得到的是array of node objects,如果我将ret[i][0]传递给此函数,它可以正常工作!

fragment.appendChild( ret[i] );

问题是什么?!

1 个答案:

答案 0 :(得分:1)

最后我发现了这个问题: 我的jquery太旧了,它的版本是1.7.1而select2版本4需要min jquery 1.8。 感谢...