我在选定的多个省份显示多个城市/城镇时遇到问题。 我现在有什么代码,只是为了显示所有地区,省和市/镇 这是它的外观:http://screencast.com/t/VsGUZfQcBF 码: http://pastebin.com/0HmmT35m
答案 0 :(得分:0)
如果要动态显示所选省/地区的城市
,则必须混合使用javascript和php首先,您必须仅填充区域字段,并且在选择区域时,您可以触发javascript以发布所选区域,然后使用返回的结果填充省(与省和城市相同)
区域示例:
Javascript:
// post the value to php
var region = $('#region').val();
$.ajax({
url: 'retrieve_province.php',
data: region,
dataType: 'json',
success: function(json) {
$.each(json, function(index, value) {
$('#province').append('<option value="'+ value+'">'+ value +'</option>');
});
}
});
PHP:(retrieve_province.php)
<?php
// --- PDO Connexion to database
try {
$db1 = new PDO('mysql:dbname=dbname;host=localhost', 'user', 'password');
} catch (PDOException $ex) {
echo 'Connection failed: ' . $ex->getMessage();
}
// Explode the array to get the right mysql syntax
if(isset($_GET['region'])) {
$type = $_GET['region'];
$datasregion ='';
foreach($type as $val) {
$datasregion .= "'".$val."',";
}
$datasregion = "(".substr($datasregion,0,-1).")";
}
// Execute the query
$sql_province="SELECT * FROM tbl_province where region in $datasregion ORDER BY name ASC";
$results = $db1->query($sql_province) or die(print_r($db1->errorInfo()));
// results
while($donnees = $results->fetch(PDO::FETCH_ASSOC)) {
$json[$donnees['pt_id']][] = utf8_encode($donnees['name']);
}
// send results to javascript
echo json_encode($json);
?>
然后你必须为省/市做同样的事情