这是我的视图页面
<select name="category" value="c_id" onChange="getsubcategorydetails(this.value)" style="display:">
<option value="" selected="selected" >Select Categories</option>
<?php if(isset($categories)) : foreach($categories as $row) :?>
<option value=<?php echo $row->c_id; ?>><?php echo $row->c_name; ?></option>
<?php endforeach;?>
<?php else :
endif;
?>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<tr>
<td>
<select name=" select id="subcategory">
<option value="" selected="selected" >Select Sub Category</option>
<?php foreach($sub_categories as $stt): ?>
<option value="<?php echo $stt->s_c_id; ?>"><?php echo $stt->s_c_name; ?></option>
<?php endforeach; ?>
</select>
</select></td>
</tr>
这是我的控制器
public function getsubcategorydetails($c_id)
{
$c_id = $this->uri->segment(3);
// echo $c_id;
$data['sub_categories'] = $this->m_category->getsubcategorydetails($c_id);
//print_r($data['sub_category']);
$this->load->view('my_admin/newpost_1',$data);
}
这是我的模特
function getsubcategorydetails($c_id='')
{
$this -> db -> select('*');
$this -> db -> where('c_id', $c_id);
$query = $this -> db -> get('subcategories');
return $query->result();
}
当我点击类别选择框从控制器返回的值...但它没有显示在视图上......有什么错误...提前感谢
答案 0 :(得分:1)
在我的代码中
尝试这种方法。
查看档案
<select name="category" onChange="getsubcategorydetails(this.value)" >
<option value="" >Select Categories</option>
<?php if(isset($categories)) : foreach($categories as $row) :?>
<option value=<?php echo $row->c_id; ?>><?php echo $row->c_name; ?></option>
<?php endforeach;?>
<?php else :
endif;
?>
</select>
<select name="subcategory" id="subcategory">
<option value="" >Select Sub Category</option>
</select>
控制器
public function getsubcategorydetails($c_id)
{
$c_id = $this->input->post('c_id');
$sub_categories = $this->m_category->getsubcategorydetails($c_id);
$subcategory='<option value="" >Select Sub Category</option>';
foreach($sub_categories as $stt)
{
$subcategory.='<option value="'.$stt->s_c_id.'">'.$stt->s_c_name.'</option>';
}
echo $subcategory;
}
模型
function getsubcategorydetails($c_id='')
{
$this -> db -> select('*');
$this -> db -> where('c_id', $c_id);
$query = $this -> db -> get('subcategories');
return $query->result();
}
脚本
function getsubcategorydetails(c_id)
{
$.ajax({
type: 'POST',
url: "<?php echo base_url(); ?>yourcontroller/yourfunction",
data: {c_id:c_id},
success: function(data) {
$('#subcategory').html(data);
}
});
}
答案 1 :(得分:1)
我建议您使用JQuery AJAX来获取子类别详细信息。
目前,您正在遵循错误的编码方法,例如在&#34; OnChange&#34;上调用codeigniter控制器功能。 getsubcategorydetails($c_id)
的事件不正确并使其成为错误的做法。 OnChange事件仅用于调用Javascript函数。
要操作DOM,请使用Javascript / JQuery。使用控制器作为中继,将适当的格式化数据导入JQuery。
答案 2 :(得分:0)
更好的选择是使用AJAX获取数据并将其附加到依赖选择框onChange Event。