gpt4 book ai didi

php - 在 Symfony2 上创建多色选择框

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:34 24 4
gpt4 key购买 nike

我尝试创建以下字段:

<select name="test">
<option value="1">a</option>
<option value="2">b</option>
<option value="3" style="font-weight: bold; color: red;">c *</option>
<option value="4">d</option>
<option value="5">e</option>
</select>

这将创建一个 2 色选择框:

enter image description here

但是在 Symfony2 中,我不知道如何将类应用于单个选项。

如果在我看来我这样做:

{{
form_widget(myForm.test, {
'attr': {
'class': 'red',
}
})
}}

或者如果以我的形式我这样做:

    $builder->add('test', 'choice', array(
'required' => true,
'choices' => array('a', 'b', 'c *', 'd', 'e'),
'attr' => array('class' => 'red'),
));

该属性存储在 <select> 中标记并应用于整个可选值。

编辑

我使用 jQuery 解决了这个问题:

1) 在我看来我把:

{{
form_widget(myForm.test, {
'attr': {
'class': 'starred-select',
}
})
}}

2) 在我的 javascripts 中,我输入:

    $('.starred-select option').each(function() {
if ($(this).text().substr(-2) == ' *') {
$(this).addClass('red');
}
});

当然,我的值(value)观不能以一颗星结束。

我如何将一个类应用于 <option> Symfony2 中的标签 ?

最佳答案

您必须覆盖小部件选择字段的呈现方式。

Form Theming允许您自定义表单的每个部分。连base form blocks可以被覆盖。

执行此操作的最佳方法是从 form_div_layout.html.twig 复制默认 block (在您的情况下,您必须覆盖 widget_choice_options block )

您还可以在 different levels 自定义您的区 block 你的应用程序。深入了解the documentation ,它包括完整解释的示例。

关于php - 在 Symfony2 上创建多色选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13748066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com