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之后自動在表單中填充這個郵編對應的城市和省份信息
實現(xiàn)方法
首先需要在Locations控制器里面添加一個方法,他可以通過get過來的zip_id獲取對應的location信息
public function actionGetCityProvince($zipId) { $location = Locations::findOne($zipId); echo Json::encode($location); }
然后通過JS監(jiān)聽select,當select改變時,使用jQuery的get方法獲取對應的信息,并使用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中使用strpos函數(shù)實現(xiàn)屏蔽敏感關(guān)鍵字功能
這篇文章主要介紹了PHP中使用strpos函數(shù)實現(xiàn)屏蔽敏感關(guān)鍵字功能,本文用在發(fā)布文章保存到數(shù)據(jù)庫時前攔截敏感關(guān)鍵,需要的朋友可以參考下2014-08-08laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法
今天小編就為大家分享一篇laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10Zend Framework入門之環(huán)境配置及第一個Hello World示例(附demo源碼下載)
這篇文章主要介紹了Zend Framework入門之環(huán)境配置及第一個Hello World示例,詳細講述了Zend Framework環(huán)境搭建與配置,以及實現(xiàn)第一個Hello World程序的方法,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-03-03