为什么选择菜单中的第一项总是空的?

发布于 2024-09-11 11:41:03 字数 730 浏览 4 评论 0原文

使用 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>

出了什么问题,为什么我有空元素?!

Using CakePHP, I created select-option form element with:

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

It creates selection box, but the first option is always empty.

How can I get rid of that empty option? I did not manage to do anything with showEmpty option...

please help....
:-((

UPDATED:

cakephp code

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

creates next 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>

what is wrong, and why do i have empty element?!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

回忆那么伤 2024-09-18 11:41:03

最好使用:

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

默认情况下它没有空元素。但要强制它充分利用

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

It's better to use:

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

By default it's without empty element. but to force it fully use

$this->Form->input('items', array('empty'=>false, 'options'=>$numeration));
柳絮泡泡 2024-09-18 11:41:03

根据 docs 第三个参数是要选择的默认项目。如果您不希望出现空选项,请将代码更改为:

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

According to the docs the third argument is the default item to be selected. If you don't want an empty option to appear change your code to:

echo $form->select('items', $numeration , NULL, array('empty' => false));
月野兔 2024-09-18 11:41:03

这在 2.3 下有效:

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

This works under 2.3:

$options = array('0'=>'Zero','1'=>'One');
echo $this->Form->select('field-name',$options,array('empty'=>false));
放赐 2024-09-18 11:41:03

我知道这是一个老问题,但是,如果您在使用 CakePHP 1.2 时遇到问题(是的,我知道使用这样的旧版本很糟糕),正确的方法是:

$form->select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

http://book.cakephp.org/1.2/en/The-手册/Core-Helpers/Form.html#select

I know this is an old question, but, if you are having trouble with CakePHP 1.2 (yes, I know it sucks to use such an old version), the correct way is:

$form->select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

http://book.cakephp.org/1.2/en/The-Manual/Core-Helpers/Form.html#select

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文