L'exemple de cet article décrit comment Yii2 obtient automatiquement les données de formulaire basées sur Ajax. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Il y a deux tableaux ici. La structure du tableau est la suivante. Le tableau des emplacements stocke les provinces, les codes postaux et d'autres informations. les deux tables sont générées en utilisant GII
yii2advanced.customers table
customer_id:int(11)
customer_name:varchar(100)
zip_code:varchar(20)
ville:varchar(100)
province :varchar(100)
table yii2advanced.locations
location_id:int(11)
zip_code:varchar(20)
ville :varchar(100)
province: varchar(100)
Ici, les informations sur la ville et la province correspondant au code postal sont automatiquement renseignées dans le formulaire après que le client a sélectionné le code postal
Mise en œuvre méthode
Tout d'abord, vous devez le contrôler dans Emplacements. Ajoutez une méthode au processeur, qui peut obtenir les informations de localisation correspondantes via le zip_id obtenu
public function actionGetCityProvince($zipId) { $location = Locations::findOne($zipId); echo Json::encode($location); }
puis surveillez la sélection via JS. Lorsque la sélection change, utilisez la méthode get de jQuery pour obtenir les informations correspondantes et utilisez la méthode attr de jQuery pour définir la valeur de la ville et de la province
JS. code, situé dans la vue du formulaire du client
#zipCode est l'identifiant de la sélection
<?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); ?>
J'espère que cet article sera utile à la conception de programmes PHP de chacun basés sur le framework Yii.
Pour plus d'articles liés à la méthode de Yii2 pour obtenir automatiquement des données de formulaire basées sur Ajax, veuillez faire attention au site Web PHP chinois !