我正在使用angularjs,为此我需要将ng-model分配给我的无线电领域。
但是,使用form_widget,所有属性都分配给容器(div)而不是实际输入字段。我已经覆盖了radio_widget块,但不太确定如何从表单小部件中将属性传递给此radio_widge?
答案 0 :(得分:1)
谢谢mr1031011,
我的错。我仔细检查过它,最后你需要覆盖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
或类似的东西,但在这个例子中你可以找到一个想法。
我希望这会有所帮助
问候。
答案 1 :(得分:0)
在官方网站上你可以找到
{{ 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>
这是提供此功能的最简单方法。另一方面,您可以为无线电字段创建自己的模板并添加所需的属性。
问候。