当前位置: 首页 > 知识库问答 >
问题:

如何在Symfony表单中设置下拉列表的子元素的样式

赖诚
2023-03-14

我正在尝试为symfony表单的下拉选项(标签和复选框)设置样式,但遇到了问题。我可以设置复选框和标签的渲染组的样式,但不能单独设置每个项目(成对标签复选框)。

我试图通过以下方式来设计它们:

{{ form_widget(form.qualifications, {'attr': {'class':'d-block'} }) }}

但如文档中所述,这仅将样式应用于父元素(要选择的渲染选项组),而不是每个单独的选项。

下面是创建小部件的Symfony表单生成器部分

->add('qualifications', EntityType::class, [
                'class' => Tag::class,
                'multiple' => true,
                'expanded' => true,
                'required' => false,
                'placeholder' => 'Select...',
                'choices' => $this->tagsService->getTagsQualificationLevels(),
                'attr' => [
                    'class' => 'form-control-ajax-submit-on-change w-20',
                ]
            ])

我希望能够将样式应用于选择数组,但我真的被如何做到这一点所困扰。

共有2个答案

白学
2023-03-14

也许你们应该在模板中尝试循环?我对radiobutton也有类似的问题,看看:如何以Symfony的形式制作radiobutton?

邴和雅
2023-03-14

您可以使用choice_attr选项:

    ->add('qualifications', EntityType::class, [
                'class' => Tag::class,
                'multiple' => true,
                'expanded' => true,
                'required' => false,
                'placeholder' => 'Select...',
                'choices' => $this->tagsService->getTagsQualificationLevels(),
                'attr' => [
                    'class' => 'form-control-ajax-submit-on-change w-20',
                ],
                'choice_attr' => function($choiceValue, $key, $value) {
                    return ['class' => 'my_custom_choice_class'];
                },
            ])
 类似资料:
  • 以下是我的html代码:

  • 我有一个下拉列表,我使用它来允许用户建立到后端的查询参数。 然后,用户将单击一个按钮,我将访问用户在下拉列表中设置的值,以调用后端endpoint。 任何帮助或提示都是非常欢迎的。

  • 问题内容: 我正在一个涉及使用PHP脚本自动填充选择框的网站上工作。除了问题是我用来填充文本框的标题非常长(它们是期刊文章和演示文稿标题)外,所有其他方法都工作正常。下拉框延伸到最长元素的宽度,该元素延伸超出屏幕边缘,因此使滚动条无法触及。我尝试了多种尝试使用CSS手动将下拉框设置为特定宽度的方法,但到目前为止都无济于事。我所能做到的最好的事情是将“选择”框设置为一定的宽度,但是下拉菜单本身要宽得

  • 表单元素主要包括 label、input、textarea、select、datalist、keygen、progress、meter、output等,以及对表单元素进行分组的 fieldset 和 legend 元素。 根据功能的不同,input 元素又包括 text、password、radio、checkbod、file、submit、reset、search、tel、url、email、n

  • 问题内容: 如何在引导程序3.0中将下拉触发按钮的宽度设置为等于下拉列表的宽度?与使用bootstrap-select所实现的功能类似。我试图用col- *类将整个列表包装在div中,但这似乎不起作用: 因此,我想:按钮宽度=下拉菜单列表= col- *宽度。 问题答案: 我通过设置下拉菜单和按钮宽度= 100%找到了解决方案。 现在,按钮和下拉列表的宽度相同,由列宽度控制。

  • 如何将bootstrap 3.0中下拉触发按钮的宽度设置为等于下拉列表的宽度?与使用引导选择时实现的功能类似(http://silviomoreto.github.io/bootstrap-select/).我试图用col-*类将整个列表包装在一个div中,但这似乎不起作用: 因此,我想:按钮宽度=下拉框列表=col-*宽度。