2015-07-22 205 views
0

我试图用Ajax来选择多选的jQuery选择2项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的说,在控制台:

Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

然后我试图找到问题,一段时间后,我发现下面的jQuery核心的行后,ret[i]必须是node object,但什么它得到的是array of node objects,如果我通过ret[i][0]这个功能,它的工作原理!

fragment.appendChild(ret[i]); 

有什么问题?

+0

您提供的代码与拉下不附加them.Can请你分享其中失败的代码项目的列表? – gor181

+0

失败恰好'fragment.appendChild(保留[I])的代码;'中的jquery的核心,当我请从列表中选择项目。 –

+0

请同时包含您的HTML。 –

回答

0

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