Yii2基于Ajax自動獲取表單數(shù)據(jù)的方法
本文實例講述了Yii2基于Ajax自動獲取表單數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
這里有兩張表,表結(jié)構(gòu)如下,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之后自動在表單中填充這個郵編對應(yīng)的城市和省份信息
實現(xiàn)方法
首先需要在Locations控制器里面添加一個方法,他可以通過get過來的zip_id獲取對應(yīng)的location信息
public function actionGetCityProvince($zipId)
{
$location = Locations::findOne($zipId);
echo Json::encode($location);
}
然后通過JS監(jiān)聽select,當(dāng)select改變時,使用jQuery的get方法獲取對應(yīng)的信息,并使用jQuery的attr方法設(shè)置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);
?>
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP編寫學(xué)校網(wǎng)站上新生注冊登陸程序的實例分享
這篇文章主要介紹了使用PHP編寫學(xué)校網(wǎng)站上新生注冊登陸程序的實例分享,只包括簡單的數(shù)據(jù)庫信息錄入和查詢等步驟的一些關(guān)鍵點,需要的朋友可以參考下2016-03-03
PHP中把對象數(shù)組轉(zhuǎn)換成普通數(shù)組的方法
這篇文章主要介紹了PHP中把對象數(shù)組轉(zhuǎn)成普通數(shù)組的方法,本文直接給出示例代碼,需要的朋友可以參考下2015-07-07
ThinkPHP3.2.3框架Memcache緩存使用方法實例總結(jié)
這篇文章主要介紹了ThinkPHP3.2.3框架Memcache緩存使用方法,結(jié)合實例形式總結(jié)分析看thinkPHP框架下Memcache緩存各種調(diào)用方法與配置相關(guān)操作技巧,需要的朋友可以參考下2019-04-04

