如何使用ajax和JQuery实现Dependent drop down zend framework 1.12表单

时间:2013-11-30 00:25:20

标签: javascript jquery ajax zend-framework zend-form-element

我已经看到了一些与我的问题相关的答案,但这些并没有帮助我得到我的结果。 我正在使用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。

1 个答案:

答案 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语句为国家和城市(选择下拉列表)分配选项值下拉列表。

我希望这会有所帮助。