CodeIgniter - Dynamic Combobox没有显示值

时间:2014-03-20 03:39:34

标签: php codeigniter

我已经实现了动态组合框,但它没有显示数据库中的值。没有显示错误。这是我的代码: 应用/控制器/ home.php

function get_masalah($id) 
{
    $tmp     = '';
    $data     = $this->usermodel->get_masalah_by_kategori($id);
    if(!empty($data)) {
        $tmp .=    "<option value=''>Pilih Masalah</option>";    
        foreach($data as $row){    
             $tmp .= "<option value='".$row->id_masalah."'>".$row->masalah."</option>";
        }
    } else {
        $tmp .=    "<option value=''>Pilih Masalah</option>";    
    }
    die($tmp);
}

然后,application / models / usermodel.php

function get_masalah(){
    $this->db->order_by("id_masalah", "ASC");
    return $this->db->get("tbl_masalah");        
}

function get_kategori() {
    $this->db->order_by("id_kategori", "ASC");
    return $this->db->get("tbl_kategori");        
}

function get_masalah_by_kategori($id) {
    $this->db->order_by("id_masalah", "ASC");
    $this->db->where("kode_kategori", $id);
    $query = $this->db->get("tbl_masalah");
    if ($query->num_rows() > 0) return $query->result();              
}

最后,application / views / pengaduan_insert.php

....
<tr>
     <td>Kategori</td>
     <td>:</td>
     <td>
        <select name="kategori" id="kategori">
            <option value="">Pilih Kategori</option>
            <?php
                foreach ($kategori->result() as $row)
                echo "<option value='".$row->id_kategori."'>".$row->kategori."</option>";
            ?>
        </select>
        <!--?php echo form_input('kategori',set_value('kategori'));?-->
        <?php echo form_error('kategori');?>
     </td>
  </tr>
   <tr>
     <td>Masalah</td>
     <td>:</td>
     <td>
            <select name="masalah" id="masalah">
                 <option value="">Pilih Masalah</option>
            </select>
        <!--?php echo form_input('masalah',set_value('masalah'));?-->
        <!--?php echo form_error('masalah');?-->
     </td>
  </tr>
....
//javascript
<script type="text/javascript">
$(document).ready(function(e) {
    $(".table").dataTable();
    $('#kategori').change(function(){
        $.post("<?php echo base_url();?>home/get_masalah/"+$('#kategori').val(),{},function(obj){
        $('#masalah').html(obj);
        });
        });
});

将数据传递给视图

 if ($this->form_validation->run() == FALSE)
   {
      $data['level'] = $this->usermodel->get_all_level();
      $data['kategori'] = $this->usermodel->get_all_kategori();
      $data['masalah'] = $this->usermodel->get_all_masalah();
      $this->template->set('title','Tambah Pengaduan Baru | MyWebApplication.com');
      $this->template->load('template','admin/pengaduan_insert',$data);
   }
   else
   {
      $data_pengaduan = array(
         'id_pengaduan'         =>$this->input->post('id_pengaduan'),
         'tanggal'               =>$date('Y-m-d'),
         'nama_perusahaan'       =>$this->input->post('nama_perusahaan'),
         'alamat_perusahaan'   =>$this->input->post('alamat_perusahaan'),
         'id_kategori'           =>$this->input->post('kategori'),
         'id_masalah'             =>$this->input->post('masalah'),
         'status'                 =>$this->input->post('status'),
      );
      $this->usermodel->insert_data_pengaduan($data_pengaduan);
      // kembalikan ke halaman manajemen pengaduan
      redirect('home/pengaduan_view');    
   }

任何人都可以帮我解决这个问题,谢谢你回答。

1 个答案:

答案 0 :(得分:0)

我没有看到你在控制器中加载视图的位置。 passing data to views