Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat mengisi daftar dropdown berantai dengan Ajax dan Javascript

Saya akan merekomendasikan 2 perubahan -

1.Muat Kategori Anda pilih opsi pada pemuatan halaman, alih-alih menggunakan onclick .
-Tambahkan onload="getcategory()" ke tag tubuh Anda.

2.Muat opsi pilih SubCategory Anda pada perubahan Kategori.
-Tambahkan onchange="getsubcategory(this)" ke <select id="category"> . Anda , dan hapus onclick="getsubcategory(cat)" dari <select id="subcat" > . Anda
-Kemudian gunakan var catval = cat.options[cat.selectedIndex].value; di getsubcategory() . Anda untuk mendapatkan nilai yang dipilih.

Sekarang akan terlihat seperti -

...
<!DOCTYPE html>
<html>
  <head>
    <script>
    function getcategory() {
      var xmlhttp;
      if(window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp= new XMLHttpRequest();
      } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("category").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","AddItemCat.php","true");
      xmlhttp.send();
    }
    function getsubcategory(cat) {
      var xmlhttp;
      var catval = cat.options[cat.selectedIndex].value;
      if(window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp= new XMLHttpRequest();
      } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("subcat").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","AddItemSubCat.php?cat="+catval,"true");
      xmlhttp.send();
    }
  </script>
</head>
<body onload="getcategory()">
  <form action="<?PHP echo $_SERVER['PHP_SELF'] ?>" name="additem" enctype="multipart/form-data" method="POST">
    <table>
    <tr>
      <td>Select Category: </td>
        <select id="category" onchange="getsubcategory(this)">
          <option value=""></option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Select SubCategory</td>
      <td>
        <select id="subcat">
          <option value=""></option>
        </select>
      </td>
    </tr>
  </table>
  </form>
</body>
</html>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masukkan nomor urut di MySQL

  2. MySQL Butuh bantuan untuk membuat kueri:gabungkan beberapa tabel menjadi satu baris

  3. Masalah koneksi MySQL Hibernate saat menggunakan c3p0

  4. mySQL Angka terbesar menurut grup

  5. Bagaimana saya bisa memanipulasi relevansi pencarian teks lengkap MySQL untuk membuat satu bidang lebih 'berharga' daripada yang lain?