我有一个带有两个级联选择框的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();
这适用于第一个选择,但它不适用于第二个选择,因为它在开头是空的。我想如果第一个选择已经有值,我可以覆盖populate方法并预加载第二个选择值。或者还有其他方式吗?