javascript从所选国家/地区值中选择城市

时间:2012-07-18 09:06:27

标签: php javascript jquery ajax json

我有来自这里的数据库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>

1 个答案:

答案 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控制器一切正常..