我正在尝试使用 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>
标签注入。在这种情况下,您还需要设置dataAttr
和valueField
配置选项。
这一切都是根据他们的 API 文档: https://github.com/selectize/selectize.js/blob/master/docs/api.md