Php 使用第一个选择框-Zend Framework 1中选择的值填写第二个选择列表

Php 使用第一个选择框-Zend Framework 1中选择的值填写第二个选择列表,php,zend-framework,select,Php,Zend Framework,Select,我有一个ZF表格,有两个选择框。两个都应该从2 DB表格中填充。首次渲染表单时,将填充第一个选择框。因此,这是做和工作良好 然后,我想填充第二个选择框,当用户选择值时,获取第一个选择框的值,并将其传递给select SQL以获取第二组数据 我不想刷新页面。所以ajax/javascript/jquery 我认为有以下几点 <script type="text/javascript"> $(document).ready(function(){ $('#make').change(f

我有一个ZF表格,有两个选择框。两个都应该从2 DB表格中填充。首次渲染表单时,将填充第一个选择框。因此,这是做和工作良好 然后,我想填充第二个选择框,当用户选择值时,获取第一个选择框的值,并将其传递给select SQL以获取第二组数据

我不想刷新页面。所以ajax/javascript/jquery

我认为有以下几点

<script type="text/javascript">

$(document).ready(function(){
$('#make').change(function($e){
    $e.preventDefault();
     var href= "index/load";
     var data = 'make_id='+$('#make').val();
     $.ajax({ type: "POST",
           url: href,
          data: data,
          success: function(response){
            location.href = 'index/load';
         }
     });
});
});

</script>
ajax请求的数据部分需要一个类似于{make_id:something}的JSON对象,因此必须以以下格式发送参数:

$(document).ready(function(){
  $('#make').change(function($e){
  $e.preventDefault();
   var href= "index/load";
   var data = $('#make').val();
   $.ajax({ type: "POST",
     url: href,
     data: {make_id: data},
     success: function(response){
     location.href = 'index/load';
   }
 });

})

Ok找到了一种简单的方法,在我看来phtml有以下几点:

 <body>
 <?php
     $this->form->setAction($this->url());
     echo $this->form;

  ?>

   <script type="text/javascript">

   $(document).ready(function(){
       $('#select1').change(function(){
           $('#Myform').submit();
           return false;
       });
   });

   </script>
</body>

是的,它是ajax/javascript/jquery。但是到目前为止,你尝试了什么?我已经编辑了我的问题,请看一看你是否看到var数据发生了变化?您是否检查了$'make'.val是否获得了真实值?如果对服务器进行了ajax调用,您是否在firebug/developer工具中进行了调试?您是否检查了$e.preventDefault是否没有妨碍ajax调用?我不想要$e.preventDefault,所以我删除了它。但还是一样。Fierbug不再显示post请求,它以前就存在:
 <body>
 <?php
     $this->form->setAction($this->url());
     echo $this->form;

  ?>

   <script type="text/javascript">

   $(document).ready(function(){
       $('#select1').change(function(){
           $('#Myform').submit();
           return false;
       });
   });

   </script>
</body>
public function viewAction()
{

        $form= new Application_Form_Myform();
        $selectbox1 = $form->getElement('select1');
        $selectbox1->setMultiOptions($this->populateselectbox1()); //This function fetch data from the db and make an array
        if ($this->getRequest()->getPost('select1')!=""){
            $selectbox2 = $form->getElement('select2');
            $selected = $this->getRequest()->getPost('select1');
            $select->setMultiOptions($this->populatselectbox2($selected)); //This function fetch data from the db and make an array
            $selectbox1->setValue($selected);
        }
        $this->view->form = $form;
    }