2015-07-22 86 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。 感謝...