我已经看到了一些与我的问题相关的答案,但这些并没有帮助我得到我的结果。 我正在使用zend框架1.12,我必须实现来自两个不同表的依赖下拉表单元素。
我的表单元素:
$country = new Zend_Form_Element_Select('Country');
$country -> setLabel('Country');
$city = new Zend_Form_Element_Select('city');
$city -> setLabel('City:');
$this->addElements(array($country,$city));
国家/地区表是城市表的父表和使用Zend_Dbtable和jQuery。
有人请告诉我如何使用jQuery和AJAX这样做。我的意思是从Controller到View。
答案 0 :(得分:0)
从控制器加载表单时,您可以从Controller设置国家/地区下拉值,如:
$form->get('countries')->setAttributes(array(
'options' => $country_list,
));
在基于选择更改(国家/地区)的ajax中,进行ajax调用以加载城市:
$("select[name='countries']").change(function(){
var sel_country = this.value;
$.ajax({
type: 'POST',
url: '{mention your url to get the cities for chosen country}',
data: { country: sel_country },
success:function(data){
// Assign the cities to select drop-down.
$("select[name='cities']").html(data);
}
});
});
否则:
您在表单加载期间知道所选国家/地区,获取所选国家/地区的城市并指定
$form->get('cities')->setAttributes(array(
'options' => $city_list,
));
否则:
分配到国家/地区列表和选择城市列表以查看变量并在视图文件中使用视图变量,并使用foreach语句为国家和城市(选择下拉列表)分配选项值下拉列表。
我希望这会有所帮助。