2010-07-25 56 views
7

使用CakePHP,我创建选择选项表单元素有:为什么选择菜单中的第一项始终为空?

echo $form->select('items', $numeration , array('selected' => 0)); 

它创建选择框,但第一个选项始终是空的。

我该如何摆脱那个空的选择?我没跟showEmpty选项做任何事情......

请帮助.... : - ((

更新:

CakePHP的代码

echo $form->select('myOptions', array(1 => 'a', 2 => 'b', 3 => 'c'), array('empty'=>false)); 

创建下一个HTML :

<select id="myOptions" name="data[myOptions]"> 
<option selected="selected" value=""></option> 
<option value="1">a</option> 
<option value="2">b</option> 
<option value="3">c</option> 
</select> 

什么是错的,为什么我有空的el EMENT?

+0

'$ numeration'是否有一个空元素?做一个'调试'确定。 – 2010-07-25 17:56:00

+0

nope,在我添加第一个元素之前创建数组的数字 – user198003 2010-07-25 18:06:48

+0

$ numeration数组实际上是否有一个元素0? – Leo 2010-07-26 08:13:00

回答

11

这是更好地使用:

$this->Form->input('items', array('options'=>$numeration)); 

默认情况下,它是没有空元素。但是,迫使它充分利用

$this->Form->input('items', array('empty'=>false, 'options'=>$numeration)); 
+0

你可以请检查,我用例子更新了我的问题.... – user198003 2010-07-27 16:51:15

10

根据docs第三个参数是要选择的默认项目。如果你不希望一个空的选项出现改变你的代码:

echo $form->select('items', $numeration , NULL, array('empty' => false)); 
+0

Cakephp cookbook [请选择文档](http://book.cakephp.org/view/1430/select) – webkraller 2012-01-20 16:20:51

2

此工程2.3下:

$options = array('0'=>'Zero','1'=>'One'); 
echo $this->Form->select('field-name',$options,array('empty'=>false)); 
相关问题