0
   <?php echo form_dropdown('item_id', $records2, '#', 'id="items"'); ?>

フォームが読み込まれるたびに、選択ボックスに何かのデフォルト値を設定したいと考えています。それができない場合は、これを通常のセレクトボックスに変換したいと思います。このようなものは機能しますか?

<select name="select1" id="items" class='cho'>
<option>--Select--  </option>
    <?php foreach($records2 as $r) { ?>
    <option value="<?=$r->item_id?>">
<?=$r->item_name?>
</option>
<?php } ?>
</select>

これを試しましたが、エラーが発生し、値が選択ボックスに表示されません。私は何を間違っていますか?

4

2 に答える 2

1

最初のパラメーターにはフィールドの名前が含まれ、2 番目のパラメーターにはオプションの連想配列が含まれ、3 番目のパラメーターには選択する値が含まれます。3 番目のパラメーターを介して複数の項目の配列を渡すこともできます

<?php echo form_dropdown('select1', $records2, $selected_value);  ?>
于 2013-01-12T19:27:59.190 に答える
0

このヘルパー関数の仕組みは次のとおりです。

form_dropdown('item_id',    $records3,    '#',           'id="items"')
//             field name   options       default value   HTML attributes

オプションは、キー/値形式*の配列である必要があります。例:

$options = array(
    'value1' => 'Text 1',
    'value2' => 'Text 2',
    'value3' => 'Text 3'
);

デフォルト値は のいずれかのキーにする必要があります。そうし$optionsないと、何も起こりません。

単に渡すのではなく、最初にこの配列を作成する必要があるようです$records2:

$options = array();
foreach ($records2 as $r) {
    $options[$r->item_id] = $r->item_name;
}
echo form_dropdown('item_id', $options, '{default value}', 'id="items"');

* $options として渡された配列が多次元配列の場合、form_dropdown() は<optgroup>配列キーをラベルとして を生成します。

于 2013-01-12T19:26:58.577 に答える