我已经实现了动态组合框,但它没有显示数据库中的值。没有显示错误。这是我的代码: 应用/控制器/ 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');
}
任何人都可以帮我解决这个问题,谢谢你回答。