javascript - Symfony 4 - 无法在 formBuilder 中自定义表单字段的 attr

标签 javascript php symfony builder attr

我有一个功能,允许我使用以下代码将按钮的 Angular 变圆:

<input type="checkbox" class="custom-control-input" id="toggle-border-radius">
<label class="custom-control-label" for="toggle-border-radius">Border radius</label>

它将调用这个 JS 脚本:

// toggle border radius
    $("#toggle-border-radius").change(function (e) {
        e.preventDefault();
        $('.page-wrapper').toggleClass("boder-radius-on");
    });

但这是手动编写的代码,我想使用真实的形式并保持相同的功能。所以我用 formBuilder 创建了我的表单,如下所示:

//... other fields
->add('activeBorderRadius', CheckboxType::class, [
                'required' => false,
                'label' => "Bords arrondis",
                'label_attr' => [
                    'class' => 'custom-control-label',
                    'for' => 'toggle-border-radius'
                ],
                'attr' => [
                    'class' => 'custom-control-input',
                    'id' => 'toggle-border-radius'
                ],
            ])

但是当我加载页面时,JS 脚本不起作用。当我检查源代码时,我发现:

<input type="checkbox" id="parametres_sidebarOptions_activeBorderRadius" name="parametres[sidebarOptions][activeBorderRadius]" class="custom-control-input form-check-input" value="1">

<label class="custom-control-label form-check-label" for="parametres_sidebarOptions_activeBorderRadius">Bords arrondis</label>

为什么我不能拥有我选择的属性?

感谢您的帮助

最佳答案

您还可以在呈现表单时将参数传递给表单字段

{{ form_row(form.activeBorderRadius, {'attr': {'class': 'custom-control-input', 'id': 'toggle-border-radius'}}) }}
{{ form_label(form.activeBorderRadius, {'attr': {'class': 'custom-control-label', 'for': 'toggle-border-radius'}}) }}

关于javascript - Symfony 4 - 无法在 formBuilder 中自定义表单字段的 attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602011/

相关文章:

php - 警告 [缓存] 保存 key 失败

javascript - 向下滚动页面时需要显示标题行

php - symfony2 中的自定义存储库类

javascript - 如何在移动网络上使用 CSS、Javascript 创建半圆菜单(子项)?

php - 什么替换了 Smarty 3 中的 register_modifier

php - 当记录从数据库中删除时,我需要帮助从文件夹中删除图像

名称中没有 "test"的 phpunit 运行类

symfony - 用 fosuser 覆盖注册 Controller 无法 Autowiring 服务 "App\Controller\RegistrationController"

javascript - Bootstrap 下拉菜单仅适用于主页(Joomla 3.0)

javascript - Summernote v0.7.0 关于更改回调问题