Yii2基于Ajax自动获取表单数据的方法


Posted in PHP onAugust 10, 2016

本文实例讲述了Yii2基于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过来的zip_id获取对应的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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
基于php伪静态的实现详细介绍
Apr 28 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php短址转换实现方法
Feb 25 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
Joomla调用系统自带编辑器的实现方法
May 05 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
教你在header中隐藏php的版本信息
Aug 10 #PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 #PHP
PHP身份证校验码计算方法
Aug 10 #PHP
PHP5.4起内置web服务器使用方法
Aug 09 #PHP
PHP Filter过滤器全面解析
Aug 09 #PHP
学习PHP Cookie处理函数
Aug 09 #PHP
利用PHP命令行模式采集股票趋势信息
Aug 09 #PHP
You might like
php编写一个简单的路由类
2011/04/13 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
DHTML Slide Show script图片轮换
2008/03/03 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
javascript arguments使用示例
2014/12/16 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
python Matplotlib模块的使用
2020/09/16 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
大学四年学习的自我评价分享
2013/12/09 职场文书
会计自荐信范文
2014/03/09 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
导游词之丽江普济寺
2019/10/22 职场文书