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 相关文章推荐
PR值查询 | PageRank 查询
Dec 20 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
处理单名多值表单的详解
Jun 08 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
浅析PHP Socket技术
Aug 02 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
PHP多维数组排序array详解
Nov 21 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 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或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
python实现名片管理系统
2018/11/29 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
《巨人的花园》教学反思
2014/02/12 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书