在Symfony中,我有一個顯示帶有文本字段和複選框的窗體的小頁面。該表格包含一個問題的數據和四個可能的答案。用戶可以編輯數據並選擇一個正確的答案。 目前我有用戶可以更改數據和四個複選框的所有文本字段。而不是複選框,我需要單選按鈕(這是爲了讓用戶只能選擇一個選項)。此外,我需要將複選框放在每個可能答案的文本字段的右側。我如何在Symfony中做到這一點。非常感謝一些幫助。謝謝。帶有文本字段的Symfony窗體內嵌收音機
使用窗體的集合來構建整個表格
問答形式:
class AnswerFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('answer');
$builder ->add('isCorrect', null , array('label' => false,));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array('data_class' => 'QuizBundle\Entity\Answer'));
}
public function getName()
{
return 'quiz_bundle_answer_form_type';
}
}
問表:
class QuestionFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('image');
$builder->add('question');
$builder->add('answers', CollectionType::class, array('entry_type' => AnswerFormType::class));
$builder->add('Submit', SubmitType::class, array('label' => 'Submit'));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array('data_class' => 'QuizBundle\Entity\Question'));
}
public function getName()
{
return 'quiz_bundle_question_form_type';
}
}
這是我的嫩枝:
{% extends 'base.html.twig' %}
{% block body %}
Edit record page
{{ form_start(form) }}
{{ form_row(form.image) }}
{{ form_row(form.question) }}
{% for answers in form.answers %}
<li>{{ form_row(answers.answer) }}</li>
{% endfor %}
{{ form_end(form) }}
{% endblock %}
@Alsatian是的,我需要文本字段,因爲用戶需要能夠編輯答案。我需要單選按鈕,因爲用戶需要選擇哪個編輯的答案是正確的。 – Otonel