如何在index.php/backend/categories/get_categories/$id
下拉列表中访问此网址<select>
?
我的意思是,如果我转到index.php/backend/categories/get_categories/1
,它会输出一个包含component id 1
下所有类别的表格。
我想要的是,一旦我从下拉列表中选择一个选项,我希望它提交并重定向到相同的网址,但是使用<option val="$id">
中的特定ID?
使用CodeIgniter FORM helper生成下拉列表:
<?php
echo form_open('backend/categories/get_categories');
$selectComponentData = array(0 => '-- '.lang('SELECT_COMPONENTS').' --');
$selectComponentJs = 'onChange="this.form.submit()" id="selectCatsByComponent"';
foreach($selectComponents as $option){
$selectComponentData[$option->id] = $option->name;
}
echo form_dropdown('selectCatsByComponent', $selectComponentData, 0, $selectComponentJs);
echo form_close();
?>
输出HTML是:
<form accept-charset="utf-8" method="post" action="http://127.0.0.1/backend/web/index.php/backend/categories/get_categories">
<select id="selectCatsByComponent" onchange="this.form.submit()" name="selectCatsByComponent">
<option selected="selected" value="0">-- Choose a component --</option>
<option value="1">E-commerce</option>
<option value="2">Content</option>
</select>
</form>
如何使它成为可能?
答案 0 :(得分:1)
如果我没有弄错你,你会问这样的事情;
在控制器中;
public function get_categories()
{
if(isset($_POST) && !empty($_POST())
{
$id = $this->input->post('selectCatsByComponent');
// bla bla bla
$data['id'] = $id;
$this->load->view('whatever/whatever',$data);
}
else
{
//Your normal page before posting
}
}
现在,您可以像
一样访问视图中的ID值if(isset($id)) // if there is a $id loaded
{
// Your view accoring to $id
}
注意:在编写此代码时,我没有测试环境。所以代码没有编译,可能会有一些错误
答案 1 :(得分:0)
You can use ajax with jquery onchange function, see the below example:
$("#bussiness").live('change',function(){
var bus_id=$(this).val();
$.ajax({
url : "<?php echo base_url(); ?>setting/set_session/"+bus_id,
success:function(res) {
document.getElementById('output').HTML = res;
}
});
});