我想制作一个 Symfony2 表单选择列表(复选框),但我希望每个选项都有不同的属性,例如:
<div class="field inline">
<input type="checkbox" id="form_options_0" name="form[options][]" value="1">
<label for="form_options_0" data="1">Option 1</label>
</div>
<div class="field inline">
<input type="checkbox" id="form_options_1" name="form[options][]" value="2">
<label for="form_options_1" data="2">Option 2</label>
</div>
我尝试查看 Symfony Form 文档,但看起来您只能将自定义属性添加到整个选择字段,而不是单个选项。
有谁知道这是否可以在不创建自定义字段类型或 View 的情况下实现?
最佳答案
在 Symfony 的最新版本中(我认为从 2.7 开始)有一个名为 choice_attr 的新选项做你需要做的事情
文档中的示例:
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
// ...
$builder->add('attending', ChoiceType::class, array(
'choices' => array(
'Yes' => true,
'No' => false,
'Maybe' => null,
),
'choice_attr' => function($val, $key, $index) {
// adds a class like attending_yes, attending_no, data-*, etc
return [
'class' => 'attending_'.strtolower($key),
];
},
));
关于php - 为 Symfony 选择字段中的每个选项添加不同的 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875462/