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下一个非常全面获取图象信息的函数
Nov 20 PHP
隐性调用php程序的方法
Mar 09 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
YII2 实现多语言配置的方法分享
Jan 11 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
PHP与以太坊交互详解
Aug 24 PHP
PHP explode()函数用法讲解
Feb 15 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
is_file和file_exists效率比较
Mar 14 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中防止SQL注入的最佳解决方法
2013/04/25 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP生成压缩文件实例
2015/02/07 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
js实现消息滚动效果
2017/01/18 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
详解Python用户登录接口的方法
2019/04/17 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
python中可以声明变量类型吗
2020/06/18 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
光电信息专业应届生求职信
2013/10/07 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
晨会主持词
2014/03/17 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
教师党员个人整改措施
2014/10/27 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
员工工作能力评语
2014/12/31 职场文书
关于颐和园的导游词
2015/01/30 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis