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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
自动生成文章摘要的代码[PHP 版本]
Mar 20 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
Yii调试SQL的常用方法
Jul 09 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
php表单习惯用的正则表达式
Oct 11 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
PHP 8新特性简介
Aug 18 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教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
js密码强度校验
2015/11/10 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
Python实现把数字转换成中文
2015/06/29 Python
python字符串的常用操作方法小结
2016/05/21 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
详解Django admin高级用法
2019/11/06 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
升学宴演讲稿
2014/09/01 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
工作试用期自我评价
2015/03/10 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
php png失真的原因及解决办法
2021/10/24 PHP