【问题标题】:Assigning attributes to Symfony 2 form radio type将属性分配给 Symfony 2 表单收音机类型
【发布时间】:2014-01-03 05:14:08
【问题描述】:

我正在使用 angularjs,为此我需要将 ng-model 分配给我的无线电场。

但是,使用 form_widget 时,所有属性都分配给了容器 (div),而不是真正的输入字段。我已经覆盖了 radio_widget 块,但不太确定如何将属性从表单小部件传递到这个 radio_widge t?

【问题讨论】:

    标签: symfony


    【解决方案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 %}
    

    core 和我的代码之间唯一的区别是添加了, { 'attr': {'class': 'subclass', 'rel': 'test'} }。当然你可以通过添加一些选项来概括这部分,比如subattr 或类似的东西,但在这个例子中你可以找到一个想法。

    希望对你有帮助

    问候。

    【讨论】:

      【解决方案2】:

      在官网可以找到

      {{ 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>
      

      这是提供此功能的最简单方法。另一方面,您可以为单选字段创建自己的模板并添加所需的属性。

      问候。

      【讨论】:

      • 分配给 radio_widget 的属性似乎设置为容器而不是输入本身。
      猜你喜欢
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-22
      • 2020-07-16
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多