2016-02-24 2 views
0

Я пытаюсь добавить опции в selectbox с помощью ajax. Я использую selectize.js. Если я не использую selectize.js, все прекрасно работает. Оба selectbox связаны, когда один из них обновляется, другие значения selectbox обновляются, используя ajax (надеюсь, у вас есть точка). Мой HTML & код Javascript Ajax является:добавить опцию выбора с помощью ajax для selectize.js

<label class="uk-form-label" for="wizard_device_catagory">Device Catagory*</label> 
<select id="wizard_device_catagory" name="devicetype" onchange="showmanuf(this.value);getproblems(this.value,idpriority.value);" required> 
    <option value="">Select category</option> 
    <option value="mobile">Mobile</option> 
    <option value="tablet">Tablet</option> 
    <option value="laptop">Laptop</option> 
    <option value="pc">PC</option> 
    <option value="printer">Printer</option> 
    <option value="ups">UPS</option> 
</select> 
<div class="parsley-row"> 
    <label class="uk-form-label" for="manufacturerdrop">Manufacturer*</label> 
    <select id="manufacturerdrop" name="manufacturer" onchange="getmodel(this.value,devicetype.value);"> 
     <option value="">Select Manufacturer</option> 
    </select> 
</div> 

function showmanuf(first){ 
    var xmlhttp; 

    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function() 
    {   
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("manufacturerdrop").innerHTML = xmlhttp.responseText;  
     } 
    } 

    xmlhttp.open("GET","php/getmanufacturer.php?first="+first,true); 
    xmlhttp.send(); 
}; 

Я никогда не использовал selectize.js, но я хочу использовать selectize.js. PLS помощи.

ответ

0

Параметры должны быть добавлены с использованием функции addOption(), не вводимой непосредственно с помощью HTML-манипуляции. После добавления параметров вы должны затем вызвать функцию refreshOptions() для обновления пользовательского интерфейса.

Вместо addOption() вы также можете использовать опцию конфигурации options, которая ожидает, что массив значений будет введен как теги <option>. В этом случае вам также необходимо будет установить параметры конфигурации dataAttr и valueField.

Это все в соответствии с их документации API: https://github.com/selectize/selectize.js/blob/master/docs/api.md

+0

любой код? У меня нет опыта работы с selectize.js – RockyHandsome

+0

Я предполагаю, что это будет выглядеть так: '$ ('# select-item') [0] .selectize.addOption ('some value');' – haliphax

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