here's how one of the select is declared in form

        $element = new Zend_Form_Element_Select('patientid');
        $element->addMultiOptions($this->patients_array)
            ->setRequired(true)
            ->setLabel('label_db_patient_select')
            ->setAttrib('size', 1)
            ->setAttrib('maxlength', 1)
            ->addFilter($filterTags)
            ->addFilter($filterTrim)
            ->addValidator($validatorNotEmpty, true)
            ->addValidator($validatorNum, true)
            ;
        $this->addElement($element);

When I get data from db I just do a populate.

$this->_form->populate($rowset->current()->toArray());

So you can see I never use the setValue.
In your case I think you should try without it and for a new record
after initializing the form
do a
$this->_form->getElement('whatever')->setValue(9);

After I've no idea ...


Chris Tankersley wrote:
> Actually, the setValue in the init is working fine. What I'm having a
> problem with is after I populate the form with data the select isn't
> changing to the populated value.
> 
> Chris
> 
> On Thu, Sep 11, 2008 at 10:50 AM, Bruno Friedmann <[EMAIL PROTECTED]> wrote:
>> Ok sorry.
>>
>> I'm doing what you want in several forms but index are always called by 
>> string.
>> Have you try a setValue('9')  if I imagine you have a id='9' 
>> value='Something in the list'
>>
>> Hope this help a bit more ...
>>
>>
>> Chris Tankersley wrote:
>>> In my case I want the default to be the last value added instead of
>>> the first which is why I manually do a setValue in the init.
>>>
>>> Chris
>>>
>>>
>>> On Thu, Sep 11, 2008 at 10:19 AM, Bruno Friedmann <[EMAIL PROTECTED]> wrote:
>>>> Chris Tankersley wrote:
>>>>> I have a select element inside of a form object where I call
>>>>> ->setValue() on the form's initialization to select a default value.
>>>>> When I do a $form->populate($data) in my controller the value for this
>>>>> select element is not being set correctly and always defaults to the
>>>>> default value from initialization. My other select elements in the
>>>>> form work fine except for this one.
>>>>>
>>>>> ====FORM====
>>>>> $protClass = new Zend_Form_Element_Select('protClass');
>>>>> $protClass->setLable('Protection Class:')
>>>>>                 ->setRequired(true)
>>>>>                 ->setValue(9)
>>>>>                 ->setMultiOptions($protClassRange);
>>>>>
>>>>> ====CONTROLLER====
>>>>> $form->populate($rate->toArray()); // this has protClass at the correct 
>>>>> value
>>>> Dear Chris, in my case there's no need to setValue when populate ..
>>>> it's done auto.
>>>>
>>>>
>>>> --


-- 

     Bruno Friedmann

Reply via email to