Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се попълни верижен падащ списък с Ajax и Javascript

Бих препоръчал 2 промени -

1. Заредете вашите опции за избор на категория при зареждане на страницата, вместо да използвате onclick .
-Добавете onload="getcategory()" към вашия етикет на тялото.

2. Заредете вашите опции за избор на подкатегория при промяна на категория.
-Добавете onchange="getsubcategory(this)" към вашия <select id="category"> и премахнете onclick="getsubcategory(cat)" от вашия <select id="subcat" >
-След това използвайте var catval = cat.options[cat.selectedIndex].value; във вашия getsubcategory() за да получите избраната стойност.

Сега ще изглежда като -

...
<!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. Увеличение на стойността на PDO PHP, Mysql

  2. Как да дезинфекцираме входа на ODBC базата данни?

  3. DISTINCT ON заявка с/ ORDER BY максимална стойност на колона

  4. Scala и MySQL JDBC драйвер

  5. Как да получите набор от резултати като функция за забавяне на Oracle