forms - Symfony2 设置默认选择字段选择

标签 forms symfony default symfony-forms

我正在通过以下方式创建表单:

$form = $this->createFormBuilder($breed)
             ->add('species', 'entity', array(
                  'class' => 'BFPEduBundle:Item',
                  'property' => 'name',
                  'query_builder' => function(ItemRepository $er){
                      return $er->createQueryBuilder('i')
                                ->where("i.type = 'species'")
                                ->orderBy('i.name', 'ASC');
                  }))
             ->add('breed', 'text', array('required'=>true))
             ->add('size', 'textarea', array('required' => false))
             ->getForm()

如何设置物种列表框的默认值?

<小时/>

感谢您的回复,我很抱歉,我想我应该重新表述我的问题。一旦我从模型中检索到一个值,如何将该值设置为物种选择列表中相应值的 SELECTED="yes"?

因此,TWIG View 中的选择选项输出将如下所示:

<option value="174" selected="yes">Dog</option>

最佳答案

您可以从“数据”属性定义默认值。这是抽象“字段”类型的一部分 ( http://symfony.com/doc/2.0/reference/forms/types/field.html )

$form = $this->createFormBuilder()
            ->add('status', 'choice', array(
                'choices' => array(
                    0 => 'Published',
                    1 => 'Draft'
                ),
                'data' => 1
            ))
            ->getForm();

在此示例中,“草稿”将设置为默认选定值。

关于forms - Symfony2 设置默认选择字段选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073236/

相关文章:

c++ - 如何在 C++ 中将前面的函数参数设置为其默认值?

javascript - 将代码放在我的 Javascript 数组中

forms - 如何使用 Play 正确验证表单!在斯卡拉?

symfony - 使用 FOSOAuthServerBundle 获取刷新 token

php - 在 PHPUnit 中实现给定接口(interface)的模拟对象上的未定义方法?

mysql - 复制行时默认插入日期列的 INTO 值,如何操作?

python - Django:空表单错误

Django 表单choicefield 自动生成选择

php - Doctrine2 Symfony2 分页器因 orderBy 而失败

text - MacVim 设置为默认文本编辑器 : How to set files to open in a new tab as opposed to a new window?