在ajax调用返回后无法禁用下拉列表

时间:2012-12-26 18:29:35

标签: javascript html ajax dom

我使用 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响应本身中禁用此下拉列表。它是一个级联下拉列表,如果第一个下拉列表设置为默认值,我将禁用第二个下拉列表。

0 个答案:

没有答案