ajax调用后表css属性不会更改

时间:2016-08-19 19:09:27

标签: javascript php ajax

最初我的表显示为无所以它在我的应用程序中不可见我正在使用ajax调用所以当用户选择任何选项时,生成一个表并且initiall显示属性设置为none更改为阻止,它变得可见,但我的表不可见。请建议。

Ajax工作正常,只有显示属性没有改变

JAVASCRIPT CODE

function checkbrand(str) {
    document.getElementById("first").style.display="block";
    if (str == "") {
        document.getElementById("brand").innerHTML = "";
        return;
    } else { 
        if (window.XMLHttpRequest) {

            xmlhttp = new XMLHttpRequest();
        } else {

            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("brand").innerHTML = xmlhttp.responseText;
            }
        };
        xmlhttp.open("GET","test1.php?m="+str,true);
        xmlhttp.send();
    }
}

PHP代码

     <?php
        session_start();
       require('connect.php');
       $m = $_GET['m'];
       $skuarray=array();
       $p=$_SESSION['Head_item_id'];
        $sql="SELECT * FROM `major_item_table` where Head_item_id=$p";
$query=$handler->query($sql);
echo '<select id="category" onchange="checkbrand(this.value)";>';
echo '<option selected="selected">Select SubCategory</option>';
while($r=$query->fetch())
{   
    echo "<option>". $r['Major_item_name']."</option>";

}
echo '</select>';

        echo '<div id="first" style="display:none">'; 
        echo '<table>
        <tr>
        <th>SKU</th>
        <th>Vendor_Id</th>
        <th>Rates_Entered</th>
        <th>Rate_Shown_On_Website</th>
        <th>Date_Time</th>
        <th>Rate_Type</th>
        </tr>';
        echo '</table>';
      ?>

1 个答案:

答案 0 :(得分:0)

试试这个:

function checkbrand(str) {
   document.getElementById("first").style.display="block";    
   if (str == "") {
}// End of function

setInterval(function(){checkbrand(str)},1000);//You can pass your argument by yourself

您需要使用setInterval。它在一段时间后调用此函数。我把它设置为1秒。你可以试试这个。希望它会对你有所帮助。