Heim >Backend-Entwicklung >PHP-Tutorial >ThinkPHP und Ajax implementieren das Dropdown-Menü für sekundäre Verknüpfungen

ThinkPHP und Ajax implementieren das Dropdown-Menü für sekundäre Verknüpfungen

不言
不言Original
2018-06-07 13:57:022320Durchsuche

Dieser Artikel stellt hauptsächlich das Dropdown-Menü der sekundären Verknüpfung zwischen ThinkPHP und Ajax vor. Es hat einen gewissen Referenzwert. Jetzt können Freunde in Not auf die Datenexistenz der

-Verknüpfung verweisen Im Menü können die Menüdaten jederzeit geändert werden, indem die Datenbank hinzugefügt, gelöscht, geändert oder geändert wird. Gleichzeitig können nach Erreichen von Level 2 auch Level 3 und Level 4 erreicht werden . . . Warten Sie auf das zugehörige Menü

Das erste ist das Design der Datenbank. Die Klassifizierungstabelle heißt cate.

Was ich mache, ist die Verknüpfung klassifizierter Daten auf zweiter Ebene. Die für die Daten erforderlichen Felder sind: id, name (chinesischer Name), pid (Eltern-ID).

Einstellungen für die übergeordnete ID: Wenn die Daten keine obere Ebene haben, ist die übergeordnete ID 0. Wenn es eine obere Ebene gibt, ist die übergeordnete ID die ID der oberen Ebene.

Sobald die Datenbank über Inhalte verfügt, können Sie mit dem Schreiben von Code zur Implementierung der sekundären Verknüpfung beginnen.

Erstens alle Daten mit PID 0 im Hintergrund-PHP abrufen, in $cate speichern und dann eine foreach-Schleife verwenden, um sie im 221f08282418e2996498697df914ce4e der ersten Ebene auszugeben.

Html-Code:

<select name="type" size="1" id="type">
    <option>请选择类型</option>
     <foreach name=&#39;cate&#39; item=&#39;v&#39;>
         <option value="{$v[&#39;ca_id&#39;]}">{$v.ca_name}</option>
     </foreach>
 </select>
 标签:
 <select name="lable" size="1" id="lables">
 </select>

Ajax-Code:

 $(&#39;#type&#39;).click(function(){
            $(this).change(function(){
                var objectModel = {};
                var   value = $(this).val();
               var   type = $(this).attr(&#39;id&#39;);
                objectModel[type] =value;
                $.ajax({
                    cache:false,
                    type:"POST",
                    url:site.web+"lable",
                    dataType:"json",
                    data:objectModel,
                    timeout:30000,
                    error:function(){
                        alert(site.web+"lable");
                    },
                    success:function(data){
                        $("#lables").empty();
                        var count = data.length;
                        var i = 0;
                        var b="";
                           for(i=0;i<count;i++){
                               b+="<option value=&#39;"+data[i].ca_id+"&#39;>"+data[i].ca_name+"</option>";
                           }
                        $("#lables").append(b);
                    }
                });
               });
        }
    );

Ajax-Code wird ausgelöst, nachdem der erste Ebenentyp geändert wurde. Die Hauptparameter der Ajax-Methode sind

1 .url: Die Adresse zum Empfangen von Ajax im Hintergrund

2.data: Die an den Hintergrund übergebenen Daten werden normalerweise in JSON übergeben; was hier übergeben wird, ist der ID-Wert der ausgewählten Klasse.

3.Typ: Übertragungsmethode, es gibt normalerweise Get- und Post-Methoden, die mehr Daten übertragen können als Get und sicherer sind; 4.Fehler: Ajax-Ausführung Fehlermethode;

5.Erfolg: Ajax-Ausführungsmethode, bei der es sich um die Rückruffunktion handelt. Wenn ich hier Erfolg habe, lösche ich zunächst mit empty() den Inhalt des zweiten Dropdown-Menüs und gebe dann die aus dem Hintergrund erhaltenen Daten aus.

Die folgende Seite ist die Seite, auf der Thinkphp Ajax-Daten empfängt und verarbeitet.

//后台ajax验证
  $result = array();
  $cate =$_POST[&#39;type&#39;];
  $result = M(&#39;cate&#39;)->where(array(&#39;ca_pid&#39;=> $cate))->field(&#39;ca_id,ca_name&#39;)->select();
  $this->ajaxReturn($result,"JSON");

Die I()-Methode von Thinkphp kann tatsächlich als $_POST[] betrachtet werden, um die erste übergebene Ebenenauswahl zu erhalten Rufen Sie dann die ID des Inhalts ab und verwenden Sie dann ajaxReturn(), um ihn an Ajax zurückzugeben. Hier werden die Rückgabedaten im JSON-Format festgelegt, sodass Ajax die Daten im JSON-Format empfängt

Native PHP-Rückgabedatenmethode:

Der Code lautet wie folgt:

  //搜索结果为$result
   .....
   echo json_encode($result);

Damit ist die Implementierung des zweistufigen Verknüpfungs-Dropdown-Menüs abgeschlossen. Es sollte beachtet werden, dass die URL muss korrekt sein und beim Empfang im Hintergrund muss ein Rückgabewert vorhanden sein, andernfalls wird die Erfolgsmethode von Ajax nicht ausgeführt.

Das Obige ist der gesamte Inhalt dieses Artikels. Vielen Dank an alle für das Lesen. Bitte beachten Sie die PHP-Chinese-Website für weitere Inhalte!


Verwandte Empfehlungen:

Echtzeit-Nachrichten-Push-Funktion, implementiert von PHP [basierend auf Anti-Ajax-Push]


in So verwenden Sie Ajax, um aktualisierungsfreies Paging in Thinkphp zu erreichen

Das obige ist der detaillierte Inhalt vonThinkPHP und Ajax implementieren das Dropdown-Menü für sekundäre Verknüpfungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn