在kohana中将值设置为Form :: select()

时间:2012-06-13 08:55:38

标签: php kohana kohana-3

我的控制器是这样的

$content = View::factory('user/biochemistryTestForm')
                  ->bind('result', $result);
            $this->template->content = $content;
   //here $result is array of Datatbase records

视野

<?php echo Form::select('allvalues', $result,null, null) ?>

this tag generate code to browser like this

<select name="allvalues">
<option value="0">Photo</option>
<option value="1">Kishore</option>
<option value="2">Chandrapal</option>
<option value="3">Framework</option>
</select> 

我想以编程方式为此标记设置值

帮帮我

2 个答案:

答案 0 :(得分:2)

我不确定我是否完全理解这个问题,但无论如何我都会有机会回答。

如果要将select选项的值设置为numeric以外的值,则需要为控制器中的$result变量分配带关联键的数组。

$result = array(
    'photo' => 'Photo',
    'kishore' => 'Kishore',
    'chandrapal' => 'Chandrapal',
    'framework' => 'Framework'
);

编辑:我注意到您的$result变量已从数据库中分配了一个数组,您还没有发布为$result分配值的代码,所以我是在黑暗中去刺。

您需要将->as_array('key','value')添加到控制器中数据库结果调用的末尾。 将用作数组键,它将成为选择选项值,将使用,数组值将成为选择选项标签。< / p>

<强>控制器

$results = DB::select('name')
    ->from('things')
    ->execute()
    ->as_array('name', 'name');

希望这有帮助。

答案 1 :(得分:-1)

如果你想为select标签设置值,你可以使用html标签

<select name="allvalues">
<option value="Your value">Photo</option>
<option value="Your value">Kishore</option>
<option value="Your value">Chandrapal</option>
<option value="Your value">Framework</option>
</select>

直接代替kohana标签

<?php echo Form::select('allvalues', $result,null, null) ?>