0

私はここから国のdbを持っています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>
4

1 に答える 1

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コントローラーを実装してみてください。すべてが正常に機能します。

于 2012-07-18T09:40:40.580 に答える