簡體   English   中英

在同一頁面上填充第二個下拉菜單

[英]Populating second dropdown on the same page

我正在嘗試基於同一頁面上的第一個下拉列表填充第二個下拉列表,而不必調用任何外部PHP腳本。 我一直在測試ajax,但無法正常工作,它必須在外部調用另一個PHP腳本。

我有狀態,因此當單擊狀態時,它將使用數據庫中該狀態的位置填充第二個下拉列表,第一個下拉列表正常運行,但是第二個下拉列表不正常。 這是我的代碼,嘗試使用ajax無效。

我想在不調用任何外部PHP腳本的情況下從同一頁面上的數據庫中回顯值。 如何將第一個下拉值傳遞給下面的第二個下拉PHP代碼以查詢數據庫? 是否不在同一頁面上從外部調用另一個PHP文件?

       //first dropdown//
<select name="state" class="select" >
     <option selected>State</option>
        <?php 
  $u =  "SELECT * FROM state_id";
  $sql = mysqli_query($con, $u);
  while ( $row = mysqli_fetch_assoc($sql)) 
  {
 echo '<option>'.$row['name'].'</option>';
 }
 ?>

        </select>
        </div>
      </div>
          <div class="col-md-2">
        <div class="aa-single-advance-search">
           <!-- second dropdown on the same page -->

              <select name="locality" class="select2">
              <option selected>Location</option>
                                 <?php 
                                //local area is the table i am getting localities based on state value in the first select menu//
      $u =  "SELECT name FROM local_area WHERE state_id='$id'";
        $sql = mysqli_query($con, $u);
         while ( $row = mysqli_fetch_assoc($sql)) 
      {
         echo '<option>'.$row['name'].'</option>';
     }
      ?>
              </select>

一個常見的錯誤(也許不是您遇到的一個錯誤,但又是一個錯誤)是認為PHP代碼可以以某種方式運行AJAX。 不對。 呈現頁面后,PHP將無法運行。 那就是javascript傳入的地方,這就是為什么在js / jQuery中啟動AJAX的原因。

請注意,jQuery是您在頁面上引用/加載的庫。 它不僅減少了30%的鍵入(僅憑這一事實就足以使用它了),而且它會自動跨瀏覽器。 更重要的是,jQuery使AJAX 變得容易。

研究這個(工作)示例。 甚至甚至可以在您的服務器上重現該示例,並對此稍作討論。 將示例變成您自己的解決方案。

根據下拉列表A中的選擇填充下拉列表B

我幾乎沒有做任何工作,但確實有效,但令我感到困惑的是外部php腳本和第二個下拉列表之間的關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM