ajax制作表格,Ajax实现表格实时编辑(示例代码)

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

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

首先是HTML代码部分:

#####################################################################

AJAX实时编辑
TAB1TAB2TAB3TAB4添加
{$vv.tab1}{$vv.tab2}{$vv.tab3}{$vv.tab4}删除修改

var g_table = $("#g_table");

function add(){

var addRow = $("

");

g_table.append(addRow);

for(var i = 0;i < 4;i++){

var col_td = $("

");

addRow.append(col_td);

}

var col_opt = $("

");

var confirmBtn = $("确认");

var cancelBtn = $("取消");

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 = "

";

$(obj).parent().parent().children().eq(i).replaceWith(temp);

}

var confirmBtn1 = $("确认");

var cancelBtn1 = $("取消");

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();

}

#####################################################################

下面是控制器中的代码:

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("更新失败");

}

}

}

#####################################################################

数据库建表我就不贴啦,自己想咋建就咋建(你开心就好嘻嘻)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供一个简单的HTML、JavaScript和AJAX表格示例。以下是一个基本的示例代码: HTML部分: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>AJAX表格示例</title> <script src="script.js"></script> </head> <body> <button onclick="loadData()">加载数据</button> <table id="data-table"> <thead> <tr> <th>ID</th> <th>姓名</th> <th>年龄</th> </tr> </thead> <tbody id="table-body"> </tbody> </table> </body> </html> ``` JavaScript部分(script.js): ```javascript function loadData() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); var tableBody = document.getElementById("table-body"); tableBody.innerHTML = ""; // 清空表格内容 for (var i = 0; i < data.length; i++) { var row = document.createElement("tr"); var idCell = document.createElement("td"); var nameCell = document.createElement("td"); var ageCell = document.createElement("td"); idCell.innerText = data[i].id; nameCell.innerText = data[i].name; ageCell.innerText = data[i].age; row.appendChild(idCell); row.appendChild(nameCell); row.appendChild(ageCell); tableBody.appendChild(row); } } }; xhttp.open("GET", "data.json", true); // 假设数据存储在data.json文件中 xhttp.send(); } ``` 以上代码演示了如何使用AJAX加载数据并在HTML表格中显示。当点击“加载数据”按钮时,JavaScript函数`loadData()`将发送AJAX请求到服务器以获取JSON数据。然后,使用`JSON.parse()`将响应文本转换为JavaScript对象。接下来,根据数据动态创建表格行和单元格,并将其添加到表格中。 请注意,这只是一个简单的示例,您可能需要根据您的实际需求进行适当的修改。同时,您需要确保服务器返回的数据是正确的JSON格式,并且文件路径和名称与代码中的一致。 希望这个示例能对您有帮助!如果有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值