侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

PHP Ajax实现表格实时编辑

php  /  管理员 发布于 5年前   268

如果我们的对于一个表格中所有的数据都能在本页进行操作那该是多酷炫的一件事(用起来炒鸡爽)!

用Ajax就可以实现这个功能啦。废话不多说,下面贴出我写的demo吧哈哈。我用的TP框架(3.2)比较习惯啦。

首先是HTML代码部分:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>AJAX实时编辑</title><script src="//article//public/static/jquery-1.7.2.min.js"></script></head><body><center><table border="1" width="1000" id="g_table"><tr><!-- <th>ID</th> --><th>TAB1</th><th>TAB2</th><th>TAB3</th><th>TAB4</th><th><span onclick="add()">添加</span></th></tr><foreach name="tablist" item="vv"><tr><!-- <td>{$vv.id}</td> --><input type="hidden" name="id" value="{$vv.id}"><td>{$vv.tab1}</td><td>{$vv.tab2}</td><td>{$vv.tab3}</td><td>{$vv.tab4}</td><td><span onclick="del(this)" id="del">删除</span><span onclick="edit(this)" id="edit">修改</span></td></tr></foreach></table></center></body><script>var g_table = $("#g_table");function add(){var addRow = $("<tr></tr>");g_table.append(addRow);for(var i = 0;i < 4;i++){var col_td = $("<td><input type='text' /></td>");addRow.append(col_td);}var col_opt = $("<td></td>");var confirmBtn = $("<a href=''>确认</a>");var cancelBtn = $("<a href=''>取消</a>");cancelBtn.click(function(){window.location.reload();});confirmBtn.click(function(){var currentRow = $(this).parent().parent();var input_files = currentRow.find("input");var post_files = {};for(var i = 0 , j = input_files.length;i < j;i++){post_files['clo_' + i] = input_files[i].value;}// $.post("{:U('ajax/add')}",post_files,function(msg){// debugger;// })$.ajax({type: 'post',url : "{:U('ajax/add')}",data: {post_files},success:function(msg){alert(msg);window.location.reload();}})});col_opt.append(confirmBtn);col_opt.append(cancelBtn);addRow.append(col_opt);}function del(obj){var id = $(obj).parent().prev().prev().prev().prev().prev().val();$.ajax({type: 'post',url: "{:U('ajax/del')}",data: {id:id},success:function(msg){alert(msg);}})$(obj).parent().parent().remove();}function edit(obj){var id = $(obj).parent().prev().prev().prev().prev().prev().val();for(var i = 1;i < 5;i++){var temp = "<td><input type='text' value='" + $(obj).parent().parent().children().eq(i).html() + "'/></td>";$(obj).parent().parent().children().eq(i).replaceWith(temp);}var confirmBtn1 = $("<span id='confirm'>确认</span>");var cancelBtn1 = $("<span onclick='back()'>取消</span>");confirmBtn1.click(function(){var currentRow = $(this).parent().parent();var input_files = currentRow.find("input");var post_files = {};for(var i = 0 , j = input_files.length;i < j;i++){post_files['clo_' + i] = input_files[i].value;}$.ajax({type: 'post',url : "{:U('ajax/edit')}",data: {post_files:post_files,id:id},success:function(msg){alert(msg);window.location.reload();}}) });$(obj).prev().replaceWith(confirmBtn1);$(obj).replaceWith(cancelBtn1);}function back(){location.reload();} </script></html>

下面是控制器中的代码:

<?php namespace Home\Controller;use Think\Controller;class AjaxController extends Controller{public function index(){$tab = M('table');$tablist = $tab->select();$this->assign('tablist',$tablist);$this->display();}public function del(){$map['id'] = $_POST['id'];$tab = M('table');$info = $tab->where($map)->delete();if($info){$this->ajaxReturn("删除成功");}else{$this->ajaxReturn("删除失败");}}public function add(){$map['tab1'] = $_POST['post_files']['clo_0'];$map['tab2'] = $_POST['post_files']['clo_1'];$map['tab3'] = $_POST['post_files']['clo_2'];$map['tab4'] = $_POST['post_files']['clo_3'];$tab = M('table');$res = $tab->add($map);if($res){$this->ajaxReturn("添加成功");}else{$this->ajaxReturn("添加失败");}}public function edit(){$id = $_POST['id'];$map['tab1'] = $_POST['post_files']['clo_1'];$map['tab2'] = $_POST['post_files']['clo_2'];$map['tab3'] = $_POST['post_files']['clo_3'];$map['tab4'] = $_POST['post_files']['clo_4'];// dump($map);exit;$tab = M('table');$res = $tab->where('id='.$id)->save($map);if($res){$this->ajaxReturn("更新成功");}else{$this->ajaxReturn("更新失败");}}}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


  • 上一条:
    php curl上传、下载、https登陆实现代码
    下一条:
    php access 数据连接与读取保存编辑数据的实现代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客