Zend Form - заполнить динамический выбор - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть Zend-форма с двумя каскадными полями выбора (когда вы выбираете опцию в первом, второй выбор заполняется вызовом jquery ajax).

Эта форма является частью мастерапоэтому, когда пользователь возвращается к нему, я хочу заполнить его правильными значениями.Я использую метод populate (), но, очевидно, он не работает для динамического выбора, поскольку он не имеет никаких значений в начале.

Как мне его обработать?

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

Например, у меня есть форма с двумя выборами:

    $jobCategoriesSelect = new Zend_Form_Element_Select('jobCategories');
    $jobCategoriesSelect->setAttrib('id', 'jobCategories');
    $jobCategoriesSelect->setAttrib('size', 5);
    $jobCategoriesSelect->setMultiOptions($jobCategoriesDb->fetchAllPairs());
    $jobCategoriesSelect->setRequired(true);
    $jobCategoriesSelect->setAttrib('onchange', 'updateSubCategories();');  
    $careerInterestForm->addElement($jobCategoriesSelect);

    $jobSubCategoriesSelect = new Zend_Form_Element_Select('jobSubCategories');
    $jobSubCategoriesSelect->setAttrib('id', 'jobSubCategories');
    $jobSubCategoriesSelect->setAttrib('size', 5);
    $jobSubCategoriesSelect->setRequired(true);
    $jobSubCategoriesSelect->setRegisterInArrayValidator(false); // validation 

не должен выглядетьдля значения внутри select, потому что оно динамическое

    $careerInterestForm->addElement($jobSubCategoriesSelect);

, второй выбор пуст (не multiOptions) и заполняется jquery при изменении первого выбора.Теперь я хочу загрузить предварительно выбранные значения в эту форму с помощью

$form->populate();

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

...