2015-07-22 3 views
0

Я пытаюсь выбрать элемент из нескольких выберите JQuery ВЫБ.2 с AJAXjquery 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

Код, который вы предоставили, связан с вытаскиванием списка элементов, не добавляющих их. Можете ли вы передать код, который не удается? – gor181

+0

код, который не соответствует точно 'fragment.appendChild (ret [i]);' в ядре jquery, когда я выбираю элемент из списка. –

+0

Также укажите свой HTML. –

ответ

0

Окончание Я нашел проблему: мой jquery был слишком стар, и его версия была 1.7.1, в то время как select2 version 4 нуждался в min jquery 1.8. спасибо ...

Смежные вопросы