如何以 Symfony 形式制作 RadioButton?

2024-01-22

我有必须用 Symfony Form 重做的表单,但我坚持在这个地方:

<div class="currency-label">
    <input checked id="cur1" name="currency" type="radio">
    <label for="cur1">EURO</label>
</div>
<div class="currency-label active">
    <input id="cur2" name="currency" type="radio">
    <label for="cur2">USD</label>
</div>

This is how it looks: how it should look

如何使用 Symfony Forms 制作单选按钮? 在我的表单类中我添加了:

->add('vacancyCurrency', RadioType::class, ['required' => false])

和我的模板

{{ form_widget(form.vacancyCurrency) }}

my form became shorter and obviously no css : how it looks without css and if i add css class to form it looks differently :

{{ form_widget(form.vacancyCurrency, {'attr':
      {'class': 'currency-label'}
}) }}

最好的方法是渲染一个ChoiceType作为单选按钮:

->add(
    'vacancyCurrency', 
    ChoiceType::class, 
    [
        'choices' => [
            'US Dolar' => 'usd',
            'Euro' => 'eur',
        ],
    'expanded' => true
    ]
);

当您有选项时,ChoiceType 字段会呈现为单选按钮multiple = false and expanded = true。选项multiple上面的代码中没有,因为它的默认值是false。您可以找到更多详细信息here https://symfony.com/doc/current/reference/forms/types/choice.html

Edit:

在你的树枝模板中,你只需要添加:

{{ form_widget(form.vacancyCurrency) }}

Edit 2

您在这个答案的评论中说过,您需要将每个单选按钮放在一个<div class="currency-label active">。我相信你不能通过在 Symfony 表单字段本身中设置属性来做到这一点。您在那里拥有的选项,例如choice_attr经营于input,而不是在它周围的 div 中。

可以实现您想要的,但您需要编写一些代码并手动渲染单选按钮,例如:

<div class="form-group">
    <label class="control-label required">Vacancy currency</label>
    {% for child in form.vacancyCurrency %}
        <div class="currency-label active">
            <label for="{{ child.vars.id }}" class="required">
                <input type="radio" id="{{ child.vars.id }}" name="{{ form.vars.id ~ '[' ~ form.vacancyCurrency.vars.name ~ ']' }}" required="required" class="checkbox" value="{{ child.vars.label }}">
                {{ child.vars.label }}
            </label>
        </div>
    {% endfor %}
</div>

当然,您可以使用一些 Javascript 来完成这项工作。例如,您可以呈现表单字段,如下所示:

{{ form_widget(form.vacancyCurrency) }}

它将在 div 中添加每个单选按钮class="radio".

然后,一旦页面准备好,您就可以使用一些 JQuery 将类更改为您想要的:

$(document).ready(function() {
    $(".radio").attr("class", "currency-label active");
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以 Symfony 形式制作 RadioButton? 的相关文章

  • phpstorm xdebug 与 symfony2 项目

    我正在尝试使用 xdebug 和 phpstorm 调试 symfony2 应用程序 我的本地开发环境是Ubuntu 14 04 with apache2 Xdebug版本是2 2 7 我在另一个 php 不是 symfony2 项目上使用
  • Symfony2 捕获会话超时

    我有一个关于 Symfony2 的问题 希望有人能帮助我 Symfony 在哪里检查用户会话以及没有会话时该怎么办 就像重定向到登录页面一样 我发现了一些类似的问题 但不是我的意思 我为什么想知道它 如果有会话超时 我想检查调用是否是 Xm
  • Symfony2,如何向表单添加隐藏的日期类型字段?

    我正在尝试以下场景 In myclassType public function buildForm FormBuilder builder array options builder gt add day hidden gt add da
  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世
  • 如何在 Symfony 2.1 中使用 ChoiceList?

    我有一个包含美国各州列表的文件 Alabama Alaska etc 在 symfony 2 0 中 我使用 ChoiceListInterface php 在我的表单中使用它 我简单地写了这个
  • Symfony2:PrePersist/PreUpdate 生命周期事件未触发

    两个实体画廊相册 and 画廊图片具有 OneToMany ManyToOne 关系 One GalleryAlbum can have gt Many GalleryImage Many GalleryImage can be in gt
  • Symfony2 - 使用 eventListener 修改表单字段

    我想寻求帮助 我有一个带有下拉列表的表单 我需要根据外部输入修改选择 我想它应该与 eventListener 配合得很好 builder gt addEventListener FormEvents PRE SET DATA functi
  • Symfony2 / Twig:生成备用绝对 URL 路径以与 CDN 一起使用?

    This 堆栈溢出解决方案 https stackoverflow com questions 7358470 twig asset with cdn using symfony 2几乎回答了我的问题 但我想生成 CDN urlTwig不仅
  • Symfony2 无效形式且无错误

    我的 Symfony2 生成的 CRUD 表单有问题 与MongoDB文档 但我不认为这是相关的 在我的控制器的 createAction 方法中 当我调试表单结果时 form gt isValid returns false form g
  • 在数据转换之前应用验证

    我想将从提交的用户数据中获得的文本字段转换为 Symfony2 中的对象 我使用 DataTransformer 来做到这一点 当我使用 NotEmpty 或 NotNull 等内置验证器或任何以标准方式内置的自定义验证器时 Symfony
  • Symfony错误在链配置的命名空间XXX中找不到类XXX

    关于这个主题已经有一些其他问题 但没有一个真正有帮助 我是 Symfony 的新手 所以很难理解它 我在文件 Client IntranetBundle LDAP LDAPAuthenticationProvider php 中 此代码导致
  • 如何通过 API 平台使用“paramconverter”?

    如何通过 Symfony API 平台实现或使用 paramconverter 我想在路线上使用实体 ID 并立即生成一个对象 准备在控制器中使用 我没有在这个项目上使用注释 路由配置位于 YAML 文件中 resources App Me
  • 覆盖注册 FOSUserBundle Symfony2

    我试图覆盖 FOSUserBundle 中的注册表单 但收到此错误 我已经按照官方文档中的教程进行操作 Link https github com FriendsOfSymfony FOSUserBundle blob master Res
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1
  • Symfony 实体在更改后不会在数据库中更新

    我的 symfony 应用程序正在使用 Doctrine 将实体保存在 mysql 中 今天 我更新了我的实体 广告商 和 报告 因此两者之间存在关系 正如本文中所建议的 使用 EntityType 显示选择时 无法从 Symfony 表单
  • Symfony2 将复选框值从 0/1 更改为“no”/“yes”

    我创建了一个带有一个复选框的表单 用户设置类型 php public function buildForm FormBuilderInterface builder array options builder gt add newslett
  • symfony 2.0足够稳定可以使用吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我怀疑是否交响乐2 0够稳定可以使用吗 因为我从来没有用过Symfony before 看起来交响乐2比以前的版本好得多 我不想在几个月后重新学
  • symfony2形式选择和mongodb

    使用 Entity 时 我们可以从 Entity 加载选择via表单字段类型实体 builder gt add group entity array class gt Fist CoreBundle Document Group 但是当使用
  • 服务容器的使用寿命是多少?

    我正在尝试了解 Symfony2 框架 来自 Java Spring 背景 我意识到 Symfony2 中的 Scope 与 Spring 中的 Scope 不同 此外 通过 Symfony3 范围已弃用 https stackoverfl

随机推荐