Javascript 表css属性在ajax调用后未更改

Javascript 表css属性在ajax调用后未更改,javascript,php,ajax,Javascript,Php,Ajax,最初,我的表显示为none,因此在我的应用程序中不可见。我使用ajax调用,因此当用户选择任何选项时,将生成一个表,并将设置为none的Initial display属性更改为block,它将变为可见,但我的表不可见。请建议 Ajax工作正常,只是显示属性没有改变 JAVASCRIPT代码 function checkbrand(str) { document.getElementById("first").style.display="block"; if (str == ""

最初,我的表显示为none,因此在我的应用程序中不可见。我使用ajax调用,因此当用户选择任何选项时,将生成一个表,并将设置为none的Initial display属性更改为block,它将变为可见,但我的表不可见。请建议

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

JAVASCRIPT代码

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
        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>';
      ?>
PHP代码

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
        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>';
      ?>

试试这个:

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秒。你可以试试这个。希望它能对您有所帮助。

带有
品牌
ID的元素在哪里?你确定你不是指ID为
首先是
吗?那么是什么触发了
checkbrand
功能?脚本在页面中的位置?您是否检查了控制台的错误(F12)?您的
未关闭?它位于单独的html文件@Xufoxi中。我已经为@ADENEO添加了代码。您的php文件的
url
是什么?但我想在use选择任何选项时设置此选项,因此document.getElementById(“first”).style.display=“block”;应该在函数checkbrand@Zain FarooqI中。我认为您的javascript函数运行不正常,或者您可能需要刷新页面以运行此javascript代码。