Php codeigniter中的国家概念
这是我的查看页面Php codeigniter中的国家概念,php,codeigniter,Php,Codeigniter,这是我的查看页面 <select name="category" value="c_id" onChange="getsubcategorydetails(this.value)" style="display:"> <option value="" selected="selected" >Select Categories</option>
<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>
这是我的模型
function getsubcategorydetails($c_id='')
{
$this -> db -> select('*');
$this -> db -> where('c_id', $c_id);
$query = $this -> db -> get('subcategories');
return $query->result();
}
当我单击类别选择框时,从控制器返回的值。。。但它没有显示在视图中。。。这有什么不对。。。。提前感谢更好的选择是使用AJAX获取数据,并在更改事件时将其附加到依赖选择框。在我的代码中 iam在onchange事件中通过ajax发布categoryid 以及从控制器中获取categoryid的子类别 并使用子类别在控制器中创建选择框 并将选择框置于子类别id中。 试试这个方法 查看文件
<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>
剧本
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);
}
});
}
我建议您使用jQueryAjax获取子类别的详细信息。 目前,您采用了错误的编码方法,例如在带有GetSubcategory Details$c_id的OnChange事件上调用codeigniter控制器函数,这是不正确的,并使其成为错误的做法。OnChange事件仅用于调用Javascript函数 要操作DOM,请对其使用Javascript/JQuery。将控制器用作将适当的格式化数据获取到JQuery中的中继
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);
}
});
}