[英]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 變得容易。
研究這個(工作)示例。 甚至甚至可以在您的服務器上重現該示例,並對此稍作討論。 將示例變成您自己的解決方案。
我幾乎沒有做任何工作,但確實有效,但令我感到困惑的是外部php腳本和第二個下拉列表之間的關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.