0

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>、リストから を選択してADD NEW CATEGORY<select>ボタンをクリックするたびに、その POST 値を次のページに渡し、同じリスト内の対応するコンポーネント ID を自動的に選択したいと考えています。<select>

私はこれを試しましたが、うまくいかないようです:

    if( $this->input->post('selectCatsByComponent') )
        $com_id = $this->input->post('selectCatsByComponent');

任意のヒント ?

======= 更新 =======

皆さん、まだ解決策を探している人は、GitHub で私のテンプレート ライブラリをチェックしてください。

https://github.com/danieltorscho/CI_Template_lib

それはあなたが必要とすることを何もしません。

4

1 に答える 1

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>
于 2013-05-19T03:11:41.573 に答える