我有来自这里的数据库http://www.webmasterworld.com/html/3018309.htm 有239个国家,每个国家都有价值。在选项中选择了另一个国家/地区后,如何使用新值区域更新区域列表?
$country_query = mysql_query("SELECT * FROM country WHERE status = '1' ORDER BY name ASC");
$zone_query = mysql_query("SELECT * FROM zone WHERE country_id = '" . (int)$country_id . "' AND status = '1'");
<select name="country_id">
<option value=""><?php echo '$text_select;' ?></option>
<?php while ($country=mysql_fetch_array($country_query)) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
<?php } ?>
<?php } ?>
</select>
答案 0 :(得分:1)
默认情况下首次加载县名单 加载区域使用此
<select name="country" id='country'>
<option value=""><?php echo '$text_select;' ?></option>
<?php while ($country=mysql_fetch_array($country_query)) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
<?php } ?>
<?php } ?>
</select>
此处您需要在国家/地区更改时调用ajax
JQuery:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$('#country').change(function(){
$.post('ajax/getZones',
{Country : $('#country').val()},
function(response){
//prepare the zones html code
//write that code to zone dropdown
}, 'json');
});
});
</script>
此处'ajax / getZones'指 getZones 是 ajax 控制器
中的方法在 getZones (ajax)中编写getZones查询 在ajax控制器中使用 $ _ POST ['Country'] 获取国家/地区ID
尝试实现ajax控制器一切正常..