1

我的控制器是这样的

$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> 

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

帮我

4

2 回答 2

2

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

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

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

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

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

控制器

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

希望这可以帮助。

于 2012-06-13T10:09:53.933 回答
-1

如果你想为选择标签设置值,你可以使用 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) ?>
于 2012-06-13T09:27:59.723 回答