이 기사의 예에서는 Yii2가 Ajax를 기반으로 양식 데이터를 자동으로 가져오는 방법을 설명합니다. 참고를 위해 모든 사람과 공유합니다.
여기에는 두 개의 테이블이 있습니다. 테이블의 위치는 모델 및 기타 정보를 저장합니다. 두 테이블은 GII
yii2advanced.customers 테이블
customer_id:int(11)
customer_name:varchar(100)
zip_code:varchar(20)
을 사용하여 생성됩니다. city:varchar(100)
province:varchar(100)
yii2advanced.locations 테이블
location_id:int(11)
zip_code:varchar(20)
city :varchar(100)
province: varchar(100)
여기서 고객이 zip_code를 선택하면 해당 우편번호에 해당하는 시, 도 정보가 자동으로 양식에 채워집니다
구현 method
먼저 Locations에서 제어해야 합니다. 획득한 zip_id를 통해 해당 위치 정보를 얻을 수 있는 프로세서에 메서드를 추가합니다.
public function actionGetCityProvince($zipId) { $location = Locations::findOne($zipId); echo Json::encode($location); }
그리고 JS를 통해 select를 모니터링하고, select가 변경되면 jQuery의 get 메소드를 사용하여 해당 정보를 얻고, jQuery의 attr 메소드를 사용하여 시 및 도 값을 설정합니다
JS. 코드, 고객 양식 보기에 있음
#zipCode는 선택 항목의 ID입니다.
<?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); ?>
이 글이 도움이 되기를 바랍니다. Yii 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그램 설계에 적용됩니다.
Yii2의 Ajax 기반 양식 데이터 자동 획득 방법에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!