无法填充第二个下拉列表

时间:2018-08-31 01:03:20

标签: php mysql codeigniter

为什么每次我从“国家/地区”选择时,它都不会填充该特定国家/地区的州列表。我有两个表格,一个是国家,另一个是州。

private $_table = "tbl_country";
        ## MY MODEL ##
        function get_by_id($id)
          {
            $query = $this->db->get_where($this->_table, "ID = $id");

            $data = $query->row();
            $query->free_result();
            return $data;
          }

         function fetchCountry()
          {
            $this->db->select('Country');
            $this->db->from('tbl_country');
            $this->db->order_by('Country', "asc");
            $get = $this->db->get();
            return $get->result_Array();
          }

          function fetchState($data)
          {
            $this->db->select('State');
            $this->db->from('tbl_state');
            $this->db->where($data);
            $this->db->order_by('State', "asc");
            $get = $this->db->get();
            return $get->result_Array();
          }

1。这是我的观点php

     <div class="form-group">
       <label>Country</label>
        <?= form_dropdown('Country', [
            ''  => '--Select Country--',
            'United States' => 'United States'
            ], set_value('Country', @$rs->Country? $rs->Country: ''), 'class="form-control"id="Country"') ?>
        <?= form_error('Country') ?>
        </div>
       <div class="form-group">
        <label>State</label>
        <select name="State" id="State" class="form-control">
        <option value="" selected disabled>--Select State--</option>
        </select>
  1. 控制器

    函数showCountry()     {         $ result = $ this-> country_m-> fetchCountry();         回声json_encode($ result);
        }

    function showState()
    {
        $data = $this->input->post();
        $result = $this->country_m->fetchState($data);
        echo json_encode($result);
    }
    

1 个答案:

答案 0 :(得分:0)

您不会以这种方式获得它。您必须使用Ajax功能,因为它们是依赖的下拉菜单。