我使用Jquery/PHP/MySql
創建動態多個國家/地區下拉菜單。這工作得很好,並在MySQL數據庫的每個用戶這樣(usertable)
我store/put
國家/國家/鎮:使用PHP MySql檢索數據到ajax下拉菜單jQuery
id | country | state | town |
1 | 1 | 1 | 1 |
2 | 1 | 1 | 3 |
3 | 1 | 2 | 8 |
現在edituser.php
頁,我需要fetch/retrieve
MySQL數據(usertable)
我的jQuery的/ Ajax的下拉列表。我打電話edituser.php?id=1
現在我需要打印/顯示用戶數據dropdown Ajax
編輯國家/州/鎮用戶。
我該怎麼辦檢索/打印/顯示這個?
JS:
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
// jquery library file
<script type="text/javascript">
/*This function is called when state dropdown value change*/
function selectState(state_id){
if(state_id!="-1"){
loadData('city',state_id);
}else{
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}
}
/*This function is called when city dropdown value change*/
function selectCity(country_id){
if(country_id!="-1"){
loadData('state',country_id);
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}else{
$("#state_dropdown").html("<option value='-1'>Select state</option>");
$("#city_dropdown").html("<option value='-1'>Select city</option>");
}
}
/*This is the main content load function, and it will
called whenever any valid dropdown value changed.*/
function loadData(loadType,loadId){
var dataString = 'loadType='+ loadType +'&loadId='+ loadId;
$("#"+loadType+"_loader").show();
$("#"+loadType+"_loader").fadeIn(400).
html('Please wait... <img src="image/loading.gif" />');
$.ajax({
type: "POST",
url: "loadData.php",
data: dataString,
cache: false,
success: function(result){
$("#"+loadType+"_loader").hide();
$("#"+loadType+"_dropdown").
html("<option value='-1'>Select "+loadType+"</option>");
$("#"+loadType+"_dropdown").append(result);
}
});
}
</script>
HTML:
/*This code will show country dropdown list*/
<select onchange="selectCity(this.options[this.selectedIndex].value)">
<option value="-1">Select country</option>
<?php
while($rowCountry=mysql_fetch_array($resCountry)){
?>
<option value="<?php echo $rowCountry['id']?>">
<?php echo $rowCountry['country_name']?>
</option>
<?php
}
?>
</select>
/*State dropdown list*/
<select id="state_dropdown"
onchange="selectState(this.options[this.selectedIndex].value)">
<option value="-1">Select state</option>
</select>
<span id="state_loader"></span>
/*City dropdown list*/
<select id="city_dropdown">
<option value="-1">Select city</option>
</select>
<span id="city_loader"></span>
Loaddata.php
include('dbConnect.inc.php');
$loadType=$_POST['loadType'];
$loadId=$_POST['loadId'];
if($loadType=="state"){
$sql="select id,state_name from state_test where
country_id='".$loadId."' order by state_name asc";
}else{
$sql="select id,city_name from city_test where
state_id='".$loadId."' order by city_name asc";
}
$res=mysql_query($sql);
$check=mysql_num_rows($res);
if($check > 0){
$HTML="";
while($row=mysql_fetch_array($res)){
$HTML.="<option value='".$row['id']."'>".$row['1']."</option>";
}
echo $HTML;
}
。這種做法似乎是正確的。 – Victory
你有很多事情會讓你的代碼看起來更好,工作更好,我在回答中寫了一些代碼,並給你一個如何實現你要找的東西的例子。 – Chococroc