2013-05-13 88 views
-3

我有兩個下拉列表之一是依賴於其他如果一個值選擇另一個從數據庫負載相同的值。例如,如果我選擇一個國家其他負載相同的城市那個國家。在PHP和jQuery中,使一個下拉菜單依賴於另一個下拉列表?

<select name="A" class="input_text" id="A"> 

<?php 
include 'config/config.php'; 
$sql="SELECT * FROM department ORDER BY Dept ASC"; 
$result=mysql_query($sql);$options=""; 
while ($row=mysql_fetch_array($result)){  
$did=$row["DeptCode"]; 
$depts=$row["Dept"]; 
$options.="<OPTION value='$did'>".$depts;}?> 
<option value="0">Select...</option> 
<?php echo $options; ?>' 
</option> 
</select> 

<select name="B" class="input_text" id="B"> 

<?php   
include 'config/config.php'; 
$sql="SELECT * FROM department WHERE DeptCode=$dpttitle"; 
$result=mysql_query($sql);$options=""; 
while ($row=mysql_fetch_array($result)){  
$did=$row["DeptCode"]; 
$depts=$row["Dept"]; 
$options.="<OPTION value='$did'>".$depts;}?> 
<option value="0">Select...</option> 
<?php echo $options; ?> 
</option> 
</select> 

<script type="text/javascript"> 
A.onblur = function() { 
B.value = this.value;}; 
</script> 
+2

你的問題是什麼? – vher2 2013-05-13 03:51:38

+1

請說明問題清楚.. !!並顯示你試過的代碼.. – 2013-05-13 03:53:28

+0

我已經編輯上面的代碼,現在好心幫我 – 2013-05-13 04:09:09

回答

1

您正在尋找「ajax」功能。試着看$.get(url,data,success);使用JQuery

首先,刪除Dropbox的B和與一個div id="B"

$("#A").change(loadCities); 
function loadCities(e){ 
    // prepare get statement 
    var url = "http://www.yoursite.com/ajax/getCities"; 
    var data = { 
     country : $("#A").val() 
    }; 
    $.get(url, data, loadCitiesComplete); 
} 
function loadCitiesComplete(data){ 
    $("#B").html(data); 
} 

替換該網址: PHP的應該是這個樣子

<? 
if(isset($_GET['country'])){ 
    $html = '<select name="B" class="input_text" id="B">'; 
    include 'config/config.php'; 
    $dpttitle = mysql_real_escape_string($_GET['country']); 
    $sql="SELECT * FROM department WHERE DeptCode=$dpttitle"; 
    $result=mysql_query($sql);$options=""; 
    while ($row=mysql_fetch_array($result)){  
    $did=$row["DeptCode"]; 
    $depts=$row["Dept"]; 
    $html .="<OPTION value='$did'>".$depts;}?> 
    $html .= '<option value="0">Select...</option>'; 
    $html .= '</option>'; 
    $html .= '</select>'; 
    echo $html; 
} 
?> 

顯然,PHP應該正確使用國家$ _GET var,使用PDO或MySQLi和預先準備好的語句來保證安全等等。但是,希望這會讓你朝着正確的方向前進。

+0

好的謝謝先生... – 2013-05-13 09:33:16

相關問題