我对Symfony2表单感到陌生。我创建了一个带有推动实体的表单,除了“选择”(选择)字段以外,值都没有问题,它们没有选定的值。symfony2:选择字段的选定值
我试着一些技巧,如:
$params['choices'] = array('N/A'=> 'N/A');
$params['data'] = array('N/A');
$params['preferred_choices'] = array('N/A');
即使这样,也没有预选值。怎么了 ?
我对Symfony2表单感到陌生。我创建了一个带有推动实体的表单,除了“选择”(选择)字段以外,值都没有问题,它们没有选定的值。symfony2:选择字段的选定值
我试着一些技巧,如:
$params['choices'] = array('N/A'=> 'N/A');
$params['data'] = array('N/A');
$params['preferred_choices'] = array('N/A');
即使这样,也没有预选值。怎么了 ?
对于默认选定项目,您可以使用data
属性。 $param['data'] = 'N/A'
这是抽象的“场”类型的一部分?
富勒示例形式中,
$form = $this->createFormBuilder()
->add('category', 'choice', array(
'choices' => array(
0 => 'Books',
1 => 'Electronics',
2 => 'Hardware`
),
'data' => 1
))
->getForm();
在这个例子中,当形式加载电子应该被选择为默认选项
'empty_value' => 'Select Choice',
$builder->add('gender', 'choice', array(
'choices' => array('m' => 'Male', 'f' => 'Female')
'empty_value' => 'Select Choice',
));
我终于解决了我的问题。有两件事: *使用Firefox重新加载,之前选择的值似乎保留,所以我没有真正测试更改,直到我关闭当前选项卡并重新打开一个; *我将单维数组作为“选择”字段的值传递,因此Symfony2将其重新索引为整数,并且我的实体字符串值无法合并为字段的symfony2整数值。
这样做,我有以下错误: 可捕获的致命错误:参数1传递给Symfony \ Component \ Form \ Extension \ Core \ ChoiceList \ SimpleChoiceList :: __ construct()必须为数组,字符串给定,调用在第176行中的C:\ Users \ ng4196c \ Workspaces \ inside \ inside_portal \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ Extension \ Core \ Type \ ChoiceType.php中,并且定义为 的确,构造函数是: 公共职能__construct(数组$选择,数组$ preferredChoices =阵列()){ ... 请 – Rolintocour 2015-03-02 08:17:13
在这里分享你的代码段 – Nisam 2015-03-02 08:18:31
可以ü请分享你的'form'建设者 – Nisam 2015-03-02 08:26:47