我在codeigniter项目中有一个国家下拉列表。下面是从用户选择的国家中选择一个城市的功能。
public function select_auth_city($user_country){
if($user_country=='USA
$user_country=1;
}elseif($user_country=='CANADA'){
$user_country=2;
}elseif($user_country=='Netherland'){
$user_country=3;
}elseif($user_country=='BURMA'){
$user_country=4;
}
$query = $this->db->get_where('city', array('country_id' => $user_country));
$query=$query->result_array();
return $query;
}
以下是脚本
<script>
$(document).ready(function(){
$('#user_country').change(function(){
$('#user_city').html('<option> Fetching...</option>');
var user_country =$('#user_country').val();
//alert(new_div);
$.ajax({
type:"post",
data:"user_country="+user_country,
url:"<?php echo site_url('ajax/select_auth_city/'); ?>",
cache:false,
success:function(resp){
//alert(resp);
$('#user_city').html(resp);
}
});
});
</script>
我在国家列表中只有四个选项,但问题是当从城市列表中选择城镇时,在实现上面所示的模型中的函数以选择城镇/村庄下拉列表时,该函数不可行,因为将有数百个城市,并且不可能编写类似于下面所示的函数
public function select_auth_town($user_city){
if($user_city=='New York'){
$user_town=1;
......
我试过从互联网上的教程,但它并没有真正为我工作。我如何才能实现一个功能,选择一个选择下拉菜单,有这么多的选项可供选择,而不膨胀我的源代码。
1条答案
按热度按时间hjqgdpho1#
您必须将国家表ID作为值存储在选项标记中,以便您可以基于此获取数据。
例如
你也可以在这里检查我的答案
我要在更改主下拉菜单时生成更新表单然后更新第二个下拉列表