在codeigniter中,在 / categories 页面上,我有一个包含所有类别项目行的表格。有一个<select>
框可按组件过滤类别:
<form accept-charset="utf-8" method="post" action="/categories/get_categories">
<select onchange="this.form.submit()" name="selectCatsByComponent">
<option value="0" selected="selected">-- Choose a component --</option>
<option value="1">Content</option>
<option value="2">E-commerce</option>
</select>
</form>
因此,每当我从<option>
列表中选择<select>
时,我点击按钮添加新类别,我想将该POST值传递到下一页并在同一<select>
列表中自动选择相应的组件ID。
我试过了,但似乎没有用:
if( $this->input->post('selectCatsByComponent') )
$com_id = $this->input->post('selectCatsByComponent');
任何提示?
=======更新=======
伙计们,对于那些仍在寻找解决方案的人 - 在GitHub上查看我的模板库:
https://github.com/danieltorscho/CI_Template_lib
它做你需要的,没有,更少,仅此而已。
答案 0 :(得分:1)
我想这些选项必须在写入选择时使用检查。
<?php
/* Use a default, and try to get the value of the previous selection. */
$com_id = 0;
if( $this->input->post('selectCatsByComponent') )
$com_id = $this->input->post('selectCatsByComponent');
$catsByComponentOptions = Array('-- Choose a component --','Content', 'E-commerce');
?>
/* start the form */
<form accept-charset="utf-8" method="post" action="/categories/get_categories">
<select onchange="this.form.submit()" name="selectCatsByComponent">
<?php
/* write out each option, checking to see if it needs to be selected. */
foreach ($catsByComponentOptions as $key => $value){
echo '<option value="'. $key .'" ';
if ($key === '$com_id')
echo ' selected="selected" ';
echo ">$value</option>";
}
?>
</form>