我一直在尝试将HTML属性添加到我的单选按钮,但不知怎的,它不起作用。我使用内置的choice_attr
选项。在这种情况下,我不想使用可调用的,因为choice_attr
的定义说该值可以是可调用的,字符串或数组。我想使用一个数组。下面是代码,我做错了什么?
->add('plan', ChoiceType::class, array(
'choices' => array(
'Basic' => 0,
'Superb (+ €9)' => 1,
'Super (+ €18)' => 2,
'Rrah' => 3
),
'expanded' => true,
'data' => 0,
'choice_attr' => [
1 => ['data-price' => '0'],
2 => ['data-price' => '9'],
3 => ['data-price' => '18'],
4 => ['data-price' => '0']
])
)
答案 0 :(得分:2)
choice_attr用于 HTML属性 bluppfisk。 请参阅文档:
http://symfony.com/doc/current/reference/forms/types/choice.html#choice-attr
choice_attr函数的参数必须是$ val,$ key,$ index之一,它表示您使用的'choices'数组的值,键和索引。所以你可以试试:
'choice_attr' => function($val) {
$price = 0;
if ($val == 1) {
$price = 9;
}
elseif ($val == 2) {
$price = 18;
}
return ['data-price' => $price];
}