我正在构建一个有 4 个可能选择的复选框表单。 制作2和3(绿色和蓝色)的方法是什么 默认选中,但其余两项未选中 默认情况下?
我相信 $builder 数组的“数据”项可能 是正确的答案,但我不知道如何...... 任何帮助,将不胜感激!谢谢!
$builder->add(
"What color do you like?",
ChoiceType::class,
[
'label' => "What color do you like?",
'choices' => [1 => "Red", 2 => "Green", 3 => "Blue", 4=>"Orange"],
'expanded' => true,
'multiple' => true,
'required' => true,
'help' => "Pick as many as you like!",
]
);
我希望我应该能够在某个地方编写类似“2=1,3=1”的代码来表明默认情况下应该检查我的两个选择,但目前还不清楚我将如何表明这两个默认情况下应选中选项。
最佳答案
首先,传递给 choices
的数组应采用 label => value
的形式,因此您的值和键必须翻转。
然后,要将属性添加到特定选项,您可以使用 choice_attr
选项:
'choice_attr' => function($opt, $k, $v) {
if ($v == '2' || $v == '3') {
return ['checked' => 'checked'];
}
},
关于php - 如何在 ChoiceType Symfony Form Builder 中默认选中一些复选框选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57434682/