我正在使用angularjs,为此我需要将ng-model分配给我的无线电场。
但是,对于form_widget,所有属性都分配给容器 (div) 而不是实际输入字段。我已经覆盖了radio_widget块,但不太确定如何将属性从表单小部件传递到这个radio_widge t中?
谢谢先生1031011,
我的错。我已经仔细检查了它,结论是您需要覆盖form_div_layout.html.twig
- 您可以在此处找到有关扩展表单布局的更多信息 http://symfony.com/doc/current/cookbook/form/form_customization.html .
我已经attr
添加到其中一个块中 - 它现在似乎正在工作。
{% block choice_widget_expanded %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
{{ form_widget(child, { 'attr': {'class': 'subclass', 'rel': 'test'} }) }}
{{ form_label(child) }}
{% endfor %}
</div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
核心代码和我的代码之间的唯一区别是添加了, { 'attr': {'class': 'subclass', 'rel': 'test'} }
。当然,您可以通过添加一些选项(如subattr
或类似的东西)来概括这部分,但是在此示例中,您可以找到一个想法。
我希望这会有所帮助
问候。
官方网站上你可以找到
{{ form_widget(form.task, { 'attr': {'class': 'task_field'} }) }}
毕竟它可能看起来像:
<div>
{{ form_label(form.name) }}
{{ form_errors(form.name) }}
{{ form_widget(form.name, { 'attr': {'class': 'task_field'} }) }}
</div>
这是提供此功能的最简单方法。另一方面,您可以为单选字段创建自己的模板并添加所需的属性。
问候。