У меня есть 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();
, это отлично работает для первого выбора, но не работает для второго выбора, поскольку в начале оно пустое.Я думаю, я могу переопределить метод заполнения и предварительно загрузить вторые значения выбора, если первый выбор уже имеет значение.или есть другой способ?