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 相关文章推荐
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
PHP查询网站的PR值
Oct 30 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php中strtotime函数用法详解
Nov 15 PHP
用php守护另一个php进程的例子
Feb 13 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
php实现登陆模块功能示例
Oct 20 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 PHP
ThinkPHP3.2框架操作Redis的方法分析
May 05 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+MySql编写聊天室
2006/10/09 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
17个Python小技巧分享
2015/01/23 Python
Python使用爬虫猜密码
2016/02/19 Python
Python测试人员需要掌握的知识
2018/02/08 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python logging设置和logger解析
2019/08/28 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
浅谈Python中的继承
2020/06/19 Python
Django xadmin安装及使用详解
2020/10/26 Python
印度服装购物网站:Limeroad
2018/09/26 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
晚会邀请函范文
2014/01/24 职场文书
外国人聘用意向书
2014/04/01 职场文书
村干部任职承诺书
2015/01/21 职场文书
2015年入党决心书
2015/02/05 职场文书
高三语文教学反思
2016/02/16 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
MySQL为id选择合适的数据类型
2021/06/07 MySQL