• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Dynamische drop down list ajax jquery Json format im Feld ausgefüllt

mubarig

New member
Hi Leute.

Ich habe dynamische drop down Liste mit Jquery und Ajax mit Zend 1.12
Typische wie County -> city.



Meine zweite drop down Liste wird entsprechend ausgefüllt allerdings mit json format. Z.B. stat. Boiler im drop down zu haben steht 1:Boiler übereinander in dieser format
"
1
"
:
"
B
o
i
l
e
r
"

so schaut mein code aus.
Ajax JQUERY
Code:
var baseUrl =  "<?php echo $this->baseUrl()?>";


   function loadfaenge(){
        var fangId = ($('#fang').val());
        var data = 'id'+ fangId;    
         var test = "";
        $.ajax({
            url:baseUrl + '/schrift-stuecke/loadsubcat/id/' + fangId ,
            datatype: 'json',
            type:     'POST',
            
            success:
        
              function(response){
                  
                var selectBoxAnlage = $('#anlage');
                selectBoxAnlage.empty();
                
                alert(response);
                for(var key in response){
                                
                selectBoxAnlage.append($('<option/>').val(key).text(response[key]));
                
                }
                
                
            },        
            error: function(event,request,settings){


                alert('Es ist ein Fehler aufgetretten');


            }
            
            });
            
        
        }

Die Anlage Tabelle Anfrage.
PHP:
  public function FetchAnlageBYFang($fangId)    {
        $db = Zend_Db_Table::getDefaultAdapter();


        $select = $db->select()
        ->from(array('f' => 'anlage'),
        array('*'))
        ->where('fangId = ?', $fangId) ;
        $anlage = $db->fetchAll($select);

        $array = array();
        foreach ($anlage as $an) {
            $array['id'] = $an['feuerstArt'];

        }
        return $array;

    }




Und im Controller deaktiviere ich das Layout

das Inhalt ist:

PHP:
        public function loadsubcatAction()
        {
        $this->_helper->layout->disableLayout();
       $this->getHelper('viewRenderer')->setNoRender(true);


          $fangId =  $this->getParam('id');


         $anlage = new Application_Model_DbTable_Anlage(); 


                $anlageFill = $anlage->FetchAnlageBYFang($fangId); 

               echo Zend_Json::encode($anlageFill);

            exit();



        }
Ich bin mir nicht sicher ob mein Fehler in Javascript liegt oder nicht. Bitte um Hilfe

Danke Im Voraus.
 

Anhänge

Zuletzt bearbeitet:

mubarig

New member
Danke für deine Antwort.KnechtRootRecht

So schaut meine Dbtable abfrage aus. Ich galaube der Fehler liegt in dem JavaScript Teil. Kannst vielleicht dir diesen Teil anschauen.
Wenn ich Z.B. Zum Json URl Navigiere mit einem bestimmt id, ist das Resultat . eine JSON string und das ist richtig, glaube ich.
http://localhost/cheems/public/schrift-stuecke/loadsubcat/id/25 -> bekomme id und feuerstätte zurück und das is ok.
{"0000008":"Einzelheizung","0000009":"Komb.GWH","0000010":"Boiler"}
und im drop down menu, im Feld anlage solten diese drei feuerstätte stehen. Aber im Feld Anlage bekomme ich einzeln Zeichen wie
"
0
0
0
0
1
0
"
:
"
B
o
i
l
e
r
"
auf gelistet.
PHP:
    public function FetchAnlageBYFang($fangId)  
       {    
                 $db = Zend_Db_Table::getDefaultAdapter();
                 $select = $db->select()->from(array('f' =>'anlage'), array('*'))->where('fangId = ?', $fangId) ; 
                 $anlage = $db->fetchAll($select);
           
          $array = array(); 
         foreach ($anlage as $an) { 
             $array[$an['id']] = $an['feuerstArt'];      
        }        return $array;            
    }
 
Zuletzt bearbeitet:

KnechtRootRecht

New member
lass dir doch mal "response" in deiner FOR-Schleife ausgeben per "console.log(response)";
Ich würde die Schleife per response.each(function(index, element){}) durchgehen.
 

mubarig

New member
lass dir doch mal "response" in deiner FOR-Schleife ausgeben per "console.log(response)";
Ich würde die Schleife per response.each(function(index, element){}) durchgehen.
Ich habe es geschaft aber ein gr0ßer Fehler war, dass ich vergessen habe im Controller
PHP:
 echo "<option>".$anl['feuerstArt']."</option>";
das einzugeben. und ich habe auch ein Bischen Änderung über das JavaScript gmacht.
 
Oben