我使用 innerHTML = xmlhttp.responseText
在<select>
内插入下拉列表(<div>
)
插入此下拉列表后,我尝试使用
禁用此列表在HTML中
<select id="mySelect" onChange="display_data(this.value);">
<option>Vehicle Make</option>
</select>
<div id="products_model" style="padding-top:5px">
<select id="mySelect1" disabled>
<option>Vehicle Model</option>
</select>
<div>
在JS中
display_data()
{
xmlhttp=GetXmlHttpObject();
var url="indexajax.php";
url=url+"?manufacturers_id="+manufacturers_id;
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 || xmlhttp.readyState=="complete") {
document.getElementById('products_model').innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
var z=document.getElementById("mySelect");
var x=document.getElementById("mySelect1");
var strUser1 = z.options[z.selectedIndex].value;
if (strUser1 == "Vehicle Make")
x.disabled = true;
}
indexajax.php
<select id="mySelect1"
onchange="display_datamodel('<?=$manufacturers_id?>',this.value);" >
<option>Vehicle Model</option>
....
....<some php logic to enter options>
....
</select>
<div id="productsnamemodel" style="padding-top:5px">
<select id="mySelect2" onChange="display_data(this.value);" disabled>
<option>Vehicle Series</option>
</select>
<div>
这不起作用。是因为这个HTML元素是动态插入DOM的。 如果它显示有任何解决方法这样做。
出于某种原因,我无法在AJAX响应本身中禁用此下拉列表。它是一个级联下拉列表,如果第一个下拉列表设置为默认值,我将禁用第二个下拉列表。