我的控制器是这样的
$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>
我想以编程方式为此标签设置值
帮帮我
我不确定我是否完全理解这个问题,但无论如何我都会尝试回答。
如果要将选择选项的值设置为数字以外的值,则需要将具有关联键的数组分配给控制器中的$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');
希望这有帮助。
如果你想为选择标签设置值,你可以使用 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>
直接代替小花标签
<?php echo Form::select('allvalues', $result,null, null) ?>