PHP Ajax mysql select onload

问题描述 投票:1回答:1

我对select选项使用Ajax调用,当我更改select选项时会加载该选项。我想在加载页面时加载第一个选项而不选择。我正在使用W3schools实现这一目标(https://www.w3schools.com/php/php_ajax_database.asp)。

我的(W3学校)工作代码:

function showUser(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
} 
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 (this.readyState==4 && this.status==200) {
  document.getElementById("txtHint").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}

  <select id="gang" class="form-control" name="users" onchange="showUser(this.value)" style="height: auto;">
      <?php
        $sql = "SELECT DISTINCT id, datum FROM analyse ORDER BY date DESC";
       $result = mysqli_query($conn, $sql) or die ("Connection failed: " . $conn->connect_error);      
         while ($row = mysqli_fetch_assoc($result)) {                                                                                    
           $id = $row['id']; 
                    ?>
                    <option value="<?= $id; ?>"><?= $id; ?></option>     
                    <?php } ?>                   
  </select>

修复是在主体上加载并在选项字段中添加一个id:

 <body onload="showUser(document.getElementById('analyse').value)">

 <option id="analyse" value="<?= $id; ?>"><?= $id; ?></option>    
javascript php mysql ajax
1个回答
1
投票

在您的代码中,添加以下代码:

<body onload="setTimeOut(showUser(document.getElementById('gang').value),1000)">

这将使用您选择的第一个选定值调用您的函数。

© www.soinside.com 2019 - 2024. All rights reserved.