0

選択肢の名前がユーザーに表示されるドロップダウン フォームを作成しようとしていますが、ユーザーがそれを選択すると、その選択肢の ID が入力として渡されます。これは可能ですか?

echo form_label('Category');
echo form_dropdown('category_id', $category_options,     
$category[0]->category_name);

現在、これは各オプションの ID を表示するだけです。

私がこの問題を抱えている理由は、モデルが適切に更新されるように理解できる唯一の方法であったため、モデルが id を取り込んでいるためですが、ユーザーは id が何を表しているのかを実際には知りません。意味のあるドロップダウン メニュー。

モデルのメソッドを使用して、データベースから ID と名前を取得しています。

私はコードイグナイターが初めてで、助けていただければ幸いです!

4

2 に答える 2

0

カテゴリ ID をドロップダウンの値にし、カテゴリ名をドロップダウンに表示されるテキストにしたい場合は、次のようなものを試すことができます。

$category_options = array();
foreach($categories->result() as $row){
    $category_options[$row->cat_id] = $row->cat_name;
}

echo form_dropdown('category_id', $category_options);

これは、データベースの結果をループして、カテゴリ ID がキーでカテゴリ名が値の連想配列に配置するだけです。モデルがどのように結果を得るかによって、これは少し変わるかもしれません。

于 2015-04-13T22:58:32.980 に答える
0

$category_options 配列は、キー => 値 (category_id => category_name) のペアとしてフォーマットする必要があります。たとえば、モデルからの配列は次のようになります。

$category_options =array(
  1 => 'category1',
  2 => 'category2'
)
echo form_dropdown('category_id', $category_options, '1');

ここで、1 と 2 はカテゴリ ID、category1 と category2 はカテゴリ名です。上記のコードは出力します

<select name="category_id">
<option value="1" selected="selected">category1</option>
<option value="2">category2</option>
</select>

詳細については、codeigniter フォーム ヘルパーのドキュメントを確認してください: https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

于 2015-04-13T20:23:10.490 に答える