使用 AJAX 添加选择选项以选择.js


add select options using ajax to selectize.js

我正在尝试使用 ajax 向选择框添加选项。我正在使用选择.js。如果我不使用选择.js一切都可以正常工作。当一个选择被更新时,两个选择框都会链接,其他选择框值使用 ajax 更新(希望你明白这一点)。我的HTML和javascript ajax代码是:

<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请帮助。

选项应使用 addOption() 函数添加,而不是直接注入 HTML 操作。添加选项后,必须调用 refreshOptions() 函数来更新 UI。

除了 addOption() ,您还可以使用 options 配置选项,该选项期望将值数组作为<option>标签注入。在这种情况下,您还需要设置dataAttrvalueField配置选项。

这一切都是根据他们的 API 文档: https://github.com/selectize/selectize.js/blob/master/docs/api.md