简体   繁体   中英

PHP Ajax mysql select onload

I use an Ajax call for the select option which loads when I change the select option. I want the first option to load when I load the page without selecting. I'm using the W3schools to achieve this ( https://www.w3schools.com/php/php_ajax_database.asp ).

My (W3 schools) working code for this:

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>

Fix was to onload on body and add an id to the option field:

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

 <option id="analyse" value="<?= $id; ?>"><?= $id; ?></option>    

in your tag, add below code:

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

This will call your function with the first selected value of your select.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM