ホームページ  >  記事  >  php教程  >  Ajaxをベースにフォームデータを自動取得するYii2メソッド

Ajaxをベースにフォームデータを自動取得するYii2メソッド

高洛峰
高洛峰オリジナル
2016-12-23 16:48:111712ブラウズ

この記事の例では、Yii2 が Ajax に基づいてフォーム データを自動的に取得する方法について説明します。詳細は次のとおりです。

テーブルの構造は次のとおりです。 2 つのテーブルのモデルと郵便番号は次のとおりです。どちらも GII を使用して生成されました。 .locations table

location_id:int(11)

zip_code:varchar(20)

city:varchar(100)
province:varchar(100)

ここでは、郵便番号に対応する都市と県の情報を自動的に入力する必要があります顧客が zip_code を選択した後、フォームにコードを追加します

実装メソッド

まず、Locations コントローラーにメソッドを追加する必要があります。zip_id を取得することで、対応する位置情報を取得できます

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



次に、選択をリッスンします。選択が変更されると、jQuery の get メソッドを使用して、対応する情報を取得し、jQuery の attr メソッドを使用して、顧客のフォーム ビューにある

JS コードの ID を設定します。 the select

<?php
$script = <<<JS
jQuery(&#39;#zipCode&#39;).change(function(){
  var zipId = $(this).val();
  jQuery.get(&#39;index.php?r=locations/get-city-province&#39;,{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 を使用するすべての人に役立つことを願っています。

Ajax に基づいてフォームデータを自動的に取得する Yii2 の方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。