В SYMFONY 3;Выбранный выбор (selected_value) пример
Я создаю форму, в которой куча элементов подформы зависит от выбора, сделанного пользователем.
Так что в моем классе TYPE, чтобы определить форму, у меня есть:
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('customType', ChoiceType::class, array(
'label'=>'custom type',
'choices' => array(
'choice 1' => 'choice 1',
'choice 2' => 'choice 2',
),
'multiple' => false,
));
// ...
}
// ...
}
В документе он говорит there что:
Это значительно быстрее использовать selectedchoice (selected_value) теста вместо этого при использовании Twig.
Я смотрел selectedchoice(selected_value)
. Идея состоит в том, чтобы изменить подполя, встроенные в форму, в зависимости от выбора, сделанного пользователем, без отправки нового запроса на сервер.
It describes the use of selectedchoice(selected_value)
as this:
Этот тест проверяет, соответствует ли текущий выбор равно selected_value или если текущий выбор в массиве (если selected_value является массивом).
1 <option {% if choice is selectedchoice(value) %} selected="selected"{% endif %} ...>
Я не понимаю, как применять этот пример в том случае, если у меня есть в моем файле TWIG, делающий вид:
{{ form_row(MyFormType.customType) }}
Как я могу получить выбор подразумеваемого {{ form_row(MyFormType.customType) }}
и используйте его с этим:
<option {% if choice is selectedchoice(value) %} selected="selected"{% endif %} ...>
В чем проблема, которую вы пытаетесь решить? Является ли это предварительным выбором значения в подформе (как выглядит этот подтип?) Или это действительно рендеринг шаблона (если да, то что вы пытаетесь настроить там?)? – xabbuh
Это рендеринг шаблона. Мне нужно сделать что-то на стороне клиента с помощью JS: '