如何为codeigniter中的下拉列表编写更好的方法?

时间:2015-06-18 12:14:55

标签: codeigniter

我在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 个答案:

答案 0 :(得分:0)

您必须将国家/地区表ID作为值存储在选项标记中,以便您可以根据该数据获取数据。

例如

 <option value="<?php echo $country['county_id'];?>"><?php echo $country['county_name'];?></option>

你也可以在这个

中查看我的答案

I Want To Build Update Form When I Change Main Dropdown Menu Then update the second dropdown list

并且不要担心投票失败。