Yii 2 Ajax 기반 폼 데이터 자동 가 져 오 는 방법

1759 단어 Yii2Ajax양식
이 사례 는 Yii 2 가 Ajax 를 바탕 으로 폼 데 이 터 를 자동 으로 가 져 오 는 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
여기에 두 장의 표 가 있 는데 표 구 조 는 다음 과 같다.locations 표 에 저 장 된 성과 우편번호 등 정보,두 장의 표 의 model 과 curd 는 모두 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)
여 기 는 customer 에서 zip 을 선택해 야 합 니 다.code 이후 자동 으로 폼 에 해당 하 는 도시 와 성 정 보 를 채 웁 니 다.
실현 방법
우선 Locations 컨트롤 러 에 방법 을 추가 해 야 합 니 다.get 을 통 해 올 수 있 는 zipid 대응 하 는 location 정보 가 져 오기

public function actionGetCityProvince($zipId)
{
  $location = Locations::findOne($zipId);
  echo Json::encode($location);
}

그리고 JS 감청 select 를 통 해 select 가 바 뀌 었 을 때 jQuery 의 get 방법 으로 해당 하 는 정 보 를 얻 고 jQuery 의 attr 방법 으로 city 와 province 의 value 를 설정 하면 됩 니 다.
JS 코드 는 customer 의 form 보기에 있 습 니 다.
\#zipCode 는 select 의 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 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Yii 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기