我对Symfony2表单感到奇怪。我创建了一个带有推进实体的表单,除了" select" (选项)字段,没有选定的值。
我尝试了一些技巧:
$params['choices'] = array('N/A'=> 'N/A');
$params['data'] = array('N/A');
$params['preferred_choices'] = array('N/A');
即使这样,也没有预先选择的值。怎么了?
答案 0 :(得分:2)
您可以将data
属性用于默认选定项目。
$param['data'] = 'N/A'
这是抽象“字段”类型?
前例示表,
$form = $this->createFormBuilder()
->add('category', 'choice', array(
'choices' => array(
0 => 'Books',
1 => 'Electronics',
2 => 'Hardware`
),
'data' => 1
))
->getForm();
在此示例中,当表单加载选项时,应选择电子设备作为默认值
答案 1 :(得分:0)
'empty_value' => 'Select Choice',
$builder->add('gender', 'choice', array(
'choices' => array('m' => 'Male', 'f' => 'Female')
'empty_value' => 'Select Choice',
));
答案 2 :(得分:0)
我终于解决了我的问题。有两件事: *使用Firefox重新加载,之前选择的值似乎保留,所以我不能真正测试更改,直到我关闭当前选项卡并重新打开一个; *我传递了一个单维数组作为“选择”字段的值,因此Symfony2用整数重新索引它,我的实体字符串值无法水合到该字段的symfony2整数值。