我有来自这里的国家数据库http://www.webmasterworld.com/html/3018309.htm239个国家,每个国家都有价值。在选项中选择了另一个国家后,如何使用新值更新区域列表?
$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>
默认情况下,将首次加载县列表。。要加载区域,请使用此
<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'指的是getZone是ajax控制器中的方法
在getZones(ajax)中编写getZones查询在ajax控制器中使用$_POST['Country']获取国家id
尝试实现ajax控制器一切正常。。