1

Тема: Установить значение для селекта

Доробого времени суток всем,

подскажите как можно в action-е задать значение по умолчанию для тэга select?

Спасибо.

2

Re: Установить значение для селекта

при создании формы можно, можно и в самой форме
все зависит от задачи
как определяется это значение?

3

Re: Установить значение для селекта

данные вычитываются из базы и в экшене присваиваются полям. Остальные поля заполняются методом setDefault(), однако для селекта это почему-то не работает.

4

Re: Установить значение для селекта

дайте сюда код

5

Re: Установить значение для селекта

пожалуйста

$obj = ObjPeer::retrieveByPK($key); (Doctrine::getTable('ObjectTable')->find($key);)
$value = $obj->getProperty();
$form->setDefault('widget_name',$value);
$this->form = $form;

6

Re: Установить значение для селекта

покажите код формы и полный код экшена, так ничего не понятно
но вообще метод дефолт должен работать для селекта

Отредактировано chill (2010-03-04 10:53:31)

7

Re: Установить значение для селекта

chill пишет:

покажите код формы и полный код экшена, так ничего не понятно
но вообще метод дефолт должен работать для селекта

                        Отредактировано chill (Сегодня 08:53:31)

И ключ от квартиры где деньги лежат. default/big_smile Извините, так он должен или работает? И если да, то скажите мне как? default/smile Пример мой по моему настолько простой, что я не вижу смысла выкладывать дополнительные строки.

8

Re: Установить значение для селекта

alex пишет:

Извините, так он должен или работает? И если да, то скажите мне как?

$form->setDefault('widget_name',$value);

ладно, сузим круг
нужен виджет селекта и значение которое ставится по дефолту,
по дефолту ставить надо велью, а не нейм, может в этом и проблема

9

Re: Установить значение для селекта

Вообще-то я хотел расширить, но раз вы сужаете, то пусть будет по вашему default/smile

$form->setDefault('widget_name',$value);

Вы это у себя локально на селект-тэг натравливали? default/smile Работает?

10

Re: Установить значение для селекта

Итак продолжим расширение:

$choices = array( '1' => 'value1', '2' =>'value2')
$widgetSchema = $form->getWidgetSchema();
$widgetSchema['select_widget_name']->setOption('choices' => $choices);
$form->setDefault('select_widget_name', 1);

И будет Вам счастье. Внимание, разыскивается более короткое решение. default/smile

11

Re: Установить значение для селекта

вот последний вариант должен работать
он же работает? если да, то куда же короче?
вот только такие вещи желательно делать в самой форме

12

Re: Установить значение для селекта

Более короткое это записать все это в одну строчку если только )

13

Re: Установить значение для селекта

chill пишет:

вот последний вариант должен работать
он же работает? если да, то куда же короче?
вот только такие вещи желательно делать в самой форме

Спасибо, кэп. default/wink