Symfony表单下拉列表(包含特定间隔内的数字)

jhkqcmku  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(109)

在我的Symfony 4项目中,老师可以给学生打分。我用一个FormBuilderInterface实现了它。我希望有一个下拉列表,数字从最小1到5。
我试探着这样道:

$form->add("grade_value",  ChoiceType::class, array('choices' => array(
            '0'=>'1',
            '1'=>'2',
            '2'=>'3',
            '3'=>'4',
            '4'=>'5'
        )));

也尝试使用此数组:

'choices' => array(
            '1',
            '2',
            '3',
            '4',
            '5'
        )

但是标签的值是从0到4。我怎么才能得到正确的标签呢?另外,我更愿意使用数字类型。有没有办法用数字类型指定一个范围来实现呢?怎么做?
感谢您的回答。

cu6pst1q

cu6pst1q1#

'choices'  => [
    'label' => value,
],

因此,在您的情况下,请按以下步骤操作

$form->add("grade_value",  ChoiceType::class, array('choices' => array(
    '1'=>'1',
    '2'=>'2',
    '3'=>'3',
    '4'=>'4',
    '5'=>'5'
)));
mm9b1k5b

mm9b1k5b2#

使用range()

$form->add('grade_value', ChoiceType::class, [
    'choices' => array_combine(range(1, 5), range(1, 5)),
]);

相关问题