【问题标题】:How to make some checkbox options selected by default in ChoiceType Symfony Form Builder?如何在 ChoiceType Symfony Form Builder 中默认选中一些复选框选项?
【发布时间】:2019-12-17 11:14:46
【问题描述】:

我正在构建一个有 4 种可能选择的复选框表单。 制作2和3(绿色和蓝色)的方法是什么 默认选中,但其余两项未选中 默认?

我相信 $builder 数组的“数据”项可能 是正确的答案,但我不知道如何...... 任何帮助,将不胜感激!谢谢!

$builder->add(
          "What color do you like?",
          ChoiceType::class,
          [
          'label' => "What color do you like?",
          'choices' => [1 => "Red", 2 => "Green", 3 => "Blue", 4=>"Orange"],
          'expanded' => true,
          'multiple' => true,
          'required' => true,
          'help' => "Pick as many as you like!",
      ]
                );

我希望我应该能够在某处编写类似“2=1,3=1”的代码,以表明我的两个选择都应默认选中,但不清楚我将如何表明这两个默认情况下应选中选项。

【问题讨论】:

  • 这里的信息似乎不足以准确回答您的问题。查看我们的minimal reproducible example 指南,并编辑您的问题以添加更多详细信息。向我们展示您尝试了什么,为什么它对您不起作用,并仔细检查您是否有一个可以回答的具体、客观的问题。

标签: php forms symfony checkbox


【解决方案1】:

首先,传递给choices 的数组应该是label => value 的形式,所以你的值和键必须被翻转。

然后要将属性添加到特定选项,您可以使用choice_attr 选项:

'choice_attr' => function($opt, $k, $v) {
    if ($v == '2' || $v == '3') {
        return ['checked' => 'checked'];
    }
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    相关资源
    最近更新 更多