Das Beispiel in diesem Artikel beschreibt, wie Yii2 automatisch Formulardaten auf Basis von Ajax erhält. Teilen Sie es als Referenz mit allen:
Die Tabellenstruktur ist wie folgt: Das Modell und die anderen Informationen Die beiden Tabellen werden mit GII generiert
yii2advanced.customers table
customer_id:int(11)
customer_name:varchar(100)
zip_code:varchar(20)
Stadt:varchar(100)
Provinz:varchar(100)
yii2advanced.locations Tabelle
Standort-ID:int(11)
Postleitzahl:varchar(20)
Stadt :varchar(100)
Provinz: varchar(100)
Hier werden die der Postleitzahl entsprechenden Stadt- und Provinzinformationen automatisch in das Formular eingetragen, nachdem der Kunde die Postleitzahl ausgewählt hat
Implementierung Methode
Zuerst müssen Sie es in Locations steuern. Fügen Sie eine Methode im Prozessor hinzu, die die entsprechenden Standortinformationen über die erhaltene zip_id abrufen kann
public function actionGetCityProvince($zipId) { $location = Locations::findOne($zipId); echo Json::encode($location); }
und überwachen Sie dann die Auswahl über JS. Wenn sich die Auswahl ändert, verwenden Sie die get-Methode von jQuery, um die entsprechenden Informationen abzurufen, und verwenden Sie die attr-Methode von jQuery, um den Wert von Stadt und Provinz festzulegen
JS Code, befindet sich in der Formularansicht des Kunden
#zipCode ist die ID des ausgewählten
<?php $script = <<<JS jQuery('#zipCode').change(function(){ var zipId = $(this).val(); jQuery.get('index.php?r=locations/get-city-province',{zipId:zipId},function(data){ var data = jQuery.parseJSON(data); jQuery("#customers-city").attr("value",data.city); jQuery("#customers-province").attr("value",data.province); }); }); JS; $this->registerJs($script); ?>
Ich hoffe, dieser Artikel wird hilfreich sein für jedermanns PHP-Programmdesign basierend auf dem Yii-Framework.
Weitere Artikel zur Methode von Yii2 zum automatischen Abrufen von Formulardaten auf Basis von Ajax finden Sie auf der chinesischen PHP-Website!