本文實(shí)例講述了yii2基于ajax自動(dòng)獲取表單數(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)
這里要通過(guò)在customer選擇zip_code之后自動(dòng)在表單中填充這個(gè)郵編對(duì)應(yīng)的城市和省份信息
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
實(shí)現(xiàn)方法
首先需要在Locations控制器里面添加一個(gè)方法,他可以通過(guò)get過(guò)來(lái)的zip_id獲取對(duì)應(yīng)的location信息
public function actionGetCityProvince($zipId) { $location = Locations::findOne($zipId); echo Json::encode($location); }
然后通過(guò)JS監(jiān)聽select,當(dāng)select改變時(shí),使用jQuery的get方法獲取對(duì)應(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è)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)