jQuery实现可以编辑的表格实例详解
来源:互联网 发布:郑州863软件孵化器 编辑:程序博客网 时间:2024/05/23 14:07
效果图
- 点击单个可以进行修改
- 点击修改所有的表格都可以进行修改
- 点击保存所有的数据可以获取并打印出来
- 本人demo需要引入jq文件
代码见如下(有详细的注解)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>编辑</title></head><script src="jquery-1.9.1.min.js" type="text/javascript"></script><style> p { text-align: center; }</style><body><table id="tab" align="center" border="1"> <tr> <th>编号</th> <th>姓名</th> <th>部门</th> <th>工号</th> </tr></table><p><input id="btn1" type="button" value="保存"/><input id="btn2" type="button" value="修改"/></p><script> $(document).ready(function () { var data = [{nub: "1", name: "Tim", apartment: "人事部", worknub: "1401"}, {nub: "2", name: "TompSon", apartment: "咨询部", worknub: "1402"}, {nub: "3", name: "chanel", apartment: "安保部", worknub: "1403"}]//JSon模拟数据 var tab1 = $("#tab")//H获取表格盒子的内容 $.each(data, function (index, item) { var row = $("<tr></tr>"); $.each(item, function (name, value) { var td = $("<td></td>").html(value); row.append(td); }); tab1.append(row); });//为表单填充对应JSon值 $("#tab").find("tr:not(:first)").each(function () { $(this).children().eq("0").addClass("nub"); $(this).children().eq("1").addClass("name"); $(this).children().eq("2").addClass("apartment"); $(this).children().eq("3").addClass("worknub"); });//为每个对应的列添加class名 $("#tab").find("td").click(function a() { var inputSize = $(this).find("input").size(); if (inputSize > 0) return; var tdText = $(this).text(); var inputObj = $('<input type="text" />'); $(this).empty().append(inputObj); inputObj.val(tdText); //给单个td绑定单击事件,当点击时增加<input/> $("#tab").find("input").blur(function () { var inputText = $(this).val(); $(this).parent().html(inputText); $(this).click(a); }); //当input失去焦点时,变量inputText保存当前值,清空当前父元素的内容并填充文本,在给当前td重新拥有点击事件 }); $('#btn2').on('click', function () {//修改-使所有框变成可编辑状态 for (var i = $("#tab").find("td").length - 1; i >= 0; i--) {// console.log($("#tab").find("td")[i]) var item = $($("#tab").find("td")[i]) var inputSize = item.find("input").size(); if (inputSize > 0) return; var tdText = item.text(); var inputObj = $('<input type="text" />'); item.empty().append(inputObj); inputObj.val(tdText); //当单击修改时,变量inputText保存当前值, } }) $("#btn1").click(function () { var inputObj = $("#tab").find("input[type='text']"); if (inputObj.size() > 0) { inputObj.each(function () { var val = $(this).val(); $(this).parent().empty().html(val); }); };//单击保存按钮,使其清空所有input var JsonText = ""; $("#tab").find("tr:not(:first)").each(function () { JsonText += "{"; $(this).find("td").each(function () { JsonText += '"' + $(this).attr("class") + '":"' + $(this).text() + '",'; }); JsonText = JsonText.substr(0, JsonText.length - 1); JsonText += "},"; }); JsonText = JsonText.substr(0, JsonText.length - 1); console.log("[" + JsonText + "]"); }); //取出数据拼接成JSon格式 });</script></body></html>
阅读全文
0 0
- jQuery实现可以编辑的表格实例详解
- JQuery实例2:可以编辑的表格
- 【JQuery】可以编辑的表格实例
- JQuery实现可以编辑的表格
- JQuery实现可以编辑的表格
- JQuery实现可以编辑的表格
- JQuery-可以编辑的表格
- JQuery可以编辑的表格
- 实现可以编辑的表格
- 用jquery实现可以编辑表格
- jQuery制作可以编辑的表格
- jQuery——可以编辑的表格
- 实战Jquery(二)--可以编辑的表格
- JQuery实战--可以编辑的表格
- JQuery实战--可以编辑的表格
- JQuery——可以编辑的表格
- JQuery之可以编辑的表格
- jQuery制作可以编辑的表格
- Spring(二)容器
- filter
- 7-1 银行业务队列简单模拟
- JavaScript和Java数组拷贝各种方法耗时比较
- JAVA基础(一)——异常
- jQuery实现可以编辑的表格实例详解
- 监控MYSQL主从同步配置中监控从库运行状态的脚本
- 事务的传播行为(讲得比较好)
- github上值得关注的项目
- Android源码在线阅读
- Hyper-V应用指南---导入导出虚拟机
- Matlab 矩阵与向量的基本运算
- Java设计模式 之 外观模式
- 使用CHttpFile上传下载文件(类)