Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-06-2012 13:15:45

nathalie90
Membre
Date d'inscription: 29-05-2012
Messages: 25

ajax et zend form element select

bonjour a tous , pardonnez moi de vous dérangez , j'ai un problème avec ajax et zend , je voudrais après le changement dans un select(ville) que le deuxième select(quartier) se mette a jour , cependant d’après se que j'ai fais rien ne se déclenche dans $.ajax ,SVP aidez moi je bloque dessus depuis une semaine  ,voila mon code

dans mon controlleur :

Code:

 public function indexAction()
    {
      $form = new LocalisationForm();
         $this->view->form = $form;
 
    }
  public function getdataAction()
    {
        
       if ($this->_request->isPost()) {
            $ville = $this->_request->getParam('id');
            
            $this->_helper->layout->disableLayout();
                    $this->_helper->viewRenderer->setNoRender(true);
                    $this->_helper->viewRenderer->setNeverRender(true);

            $quarter = new Quarter();
            $list=$quarter->getQuarter($ville);
            $this->_helper->json($list);
        
    }    
    }

dans mon index.phtml :

Code:

       <div class="formulaire">
<center><?php echo $this->form;?>                  
                     
                     </center>
        <script type="text/javascript">
   $(document).ready(function()
{
   $("select#ville").change(function(){
    id = $("select#ville").val();
    
    $.ajax({
        type: "POST",
        url: "/index/getdata/id/"+id,
        dataType: "json",
        success: function(response){
          
        var obj = document.getElementById('quarter');
                var optionData = response;
                //obj.options.length = null;
                alert(obj);
                i=1;
                for (key in response) {        
                    alert('cle:' + key + ' - valeur: ' + optionData[key]);
                    obj.options[i] = new Option(optionData[key],key);
             i++;
                }

        }
    });
    
    return false;

    })});
</script>             
            
            
                   </div>

et dans mon modele quarter je fait comme ceci :

Code:

 public function getQuarter($id) {
        
        $select = $this->select ();
            $select->from ('quarter')
            ->where ('City_cityId = '.$id) ;
            $rows=$this->fetchAll ( $select );
            
            $options = array();
            foreach ($rows as $row) {
                $options[$row->id] = $row->name;
            }
            return $options;
    }

N'hésitez pas a m'aider SVP je sais pas si c'est mon $.ajax qui n'est pas reconnue ou quelque chose d'autre , j'ai vraiment besoin d'aide  , merci d'avance

Dernière modification par nathalie90 (04-06-2012 17:21:03)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages