2013-04-10 5 views
0

Я новичок в Twig. Может кто-нибудь, пожалуйста, покажите мне, как передать выбранное значение параметра в поле выбора, чтобы оно было выбрано при загрузке формы ajax?Twig Set Выбранное значение

Что я делаю неправильно?

warehouse_id = 32 в этом примере, и form_widget автоматически создал мой список выбора.

{{ form_widget(form.warehouse, {'selected': warehouse_id }) }} 

Большое спасибо!

+1

Обычно вы можете использовать его автоматически, передавая объект форме. –

+0

Можем ли мы увидеть, как вы строите форму? –

ответ

1

Это самый простой способ, что я нашел: {{form_widget (form.field, {значение: 1 })}}

+1

Я использую symfony 2.3, I наблюдаемый идентификатор требуется в двойных кавычках. Я прочитал из [здесь] (http://stackoverflow.com/questions/18270513/symfony2-twig-set-the-default-value-in-the-dropdownlist) и его работу. –

+0

^^^^^^^^^^^^^ Посмотрите на комментарий @GhanshyamKDobariya – ziiweb

+0

Если вы создаете форму, которая не привязана к объекту доктрины, или вы 'd хотел бы указать выбранное значение выпадающего списка в ветке, это правильный ответ. В документах symfony не ясно, что значение параметра будет выбирать указанный параметр, но он это делает. – Halfstop

0

Думаю, вам не нужно это делать. Вы можете передать свою сущность (включая данные) при создании формы. Выпадающий список будет выбран с выбранными данными. Смотрите этот код, например:

$em = $this->getDoctrine()->getManager(); 
$entity = $em->getRepository('YourBundle:YourEntity')->find($id); 
if (!$entity) { 
    throw $this->createNotFoundException('Unable to find entity.'); 
} 

$editForm = $this->createForm(new YourFormType(), $entity); 
//in entity goes with all data and your selectbox will be selected with correct data 
return $this->render('YourBundle:YourController:edit.html.twig', array(
    'entity'  => $entity, 
    'edit_form' => $editForm->createView(), 
)); 

или попытаться сделать это! Изменение «выбрано» на «значение»

{{ form_widget(form.warehouse, {'value': warehouse_id }) }} 

Пожалуйста, скажите мне, о том, если вы решили ваши сомнения

+0

По какой-то причине это не сработало, когда я создал страницу через ajax. То, что я закончил, это просто передать значение на страницу ajax, а затем сделать это, и это сработало ... {{form_widget (form.warehouse, {значение: warehouse_id})}} – LargeTuna

Смежные вопросы