动态给table添加动态航
- <html>
- <head>
- <title>usually function</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <script type="text/javascript" src="jquery-1.4.4.js"></script>
- <body>
- <table border="1px" id="targetTable">
- <tr border="1px">
- <td>序号</td>
- <td>姓名</td>
- <td>年龄</td>
- <td>生日</td>
- <td>备注</td>
- </tr>
- <tr id="model" style="display:none" border="1px">
- <td></td>
- <td><input type="text" name="username"></td>
- <td><input type="text" name="age"></td>
- <td><input type="text" name="birthday"></td>
- <td><input type="text" name="note"><span onclick="del(this)">删除</span></td>
- </tr>
- </table>
- <br>
- <br>
- 用户输入表单:
- 姓名<input type="text" name="u_username"><br>
- 年龄<input type="text" name="u_age"><br>
- 生日<input type="text" name="u_birthday"><br>
- 备注<input type="text" name="u_note"><br>
- <button onclick="add()" style="font-size:12px">添加</button>
- </body>
- <html>
- <script>
- function del(obj){
- //alert($(obj).closest("tr").attr("outerHTML"));
- //$(obj).closest("tr").attr("outerHTML","")
- $(obj).closest("tr").remove();
- resetSequenceNum();
- }
- function add(){
- //获取表单的值
- var u_username = $("input[name='u_username']").val();
- var u_age = $("input[name='u_age']").val();
- var u_birthday = $("input[name='u_birthday']").val();
- var u_note = $("input[name='u_note']").val();
- //alert(u_username);
- //判断表单的值是否为空
- if(u_username=="" || u_username==undefined){
- alert("用户姓名不能为空");
- $("input[name='u_username']").focus();
- return false;
- }
- //缓存要赋值的内容,避免多次查询,提高效率
- var trstr = $("#model").attr("outerHTML");
- //alert(trstr);
- //复制最后一行的代码添加到表的最后一行
- $("#targetTable tr").last().after(trstr);
- //$("#targetTable").find("tr").last().after(trstr);
- //让最后一行显示出来,而不是隐藏
- //$("#targetTable tr").last().css("display","block");会出现浏览器兼容的问题,在ff中显示不正常
- $("#targetTable tr").last().css("display","");
- //赋值
- var target = $("#targetTable tr").last().find("td");
- target.find("input[name='username']").val(u_username);
- target.find("input[name='age']").val(u_age);
- target.find("input[name='birthday']").val(u_birthday);
- target.find("input[name='note']").val(u_note);
- resetValue();
- resetSequenceNum();
- }
- //清空表单的值
- function resetValue(){
- $("input[name='u_username']").val("");
- $("input[name='u_age']").val("");
- $("input[name='u_birthday']").val("");
- $("input[name='u_note']").val("");
- }
- //重新设置序号
- function resetSequenceNum(){
- var num=0;
- $("#targetTable tr").each(function(index,dom){
- if(index!=0){
- $(dom).find("td").first().html(num);
- num++;
- }
- });
- }
- </script>

- <html>
- <head>
- <title>usually function</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <script type="text/javascript" src="jquery-1.4.4.js"></script>
- <body>
- <table border="1px" id="targetTable">
- <tr border="1px">
- <td>序号</td>
- <td>姓名</td>
- <td>年龄</td>
- <td>生日</td>
- <td>备注</td>
- </tr>
- <tr id="model" border="1px" style="display:none">
- <td></td>
- <td><input type="text" name="username"></td>
- <td><input type="text" name="age"></td>
- <td><input type="text" name="birthday"></td>
- <td><input type="text" name="note"><span onclick="del(this)">删除</span></td>
- </tr>
- </table>
- <button onclick="add()" style="font-size:12px">添加下一行</button><br>
- <button onclick="isnotEmpty()" style="font-size:12px">isEmpty</button>
- </body>
- <html>
- <script>
- function del(obj){
- $(obj).closest("tr").remove();
- resetSequenceNum();
- }
- function add(){
- if(isnotEmpty()){
- //缓存要赋值的内容,避免多次查询,提高效率
- var trstr = $("#model").attr("outerHTML");
- //复制最后一行的代码添加到表的最后一行
- $("#targetTable tr").last().after(trstr);
- //让最后一行显示出来,而不是隐藏
- //$("#targetTable tr").last().css("display","block");会出现浏览器兼容的问题,在ff中显示不正常
- $("#targetTable tr").last().css("display","");
- resetSequenceNum();
- }else{
- }
- }
- //检查添加的内容不能为空
- function isnotEmpty(){
- //缓存要赋值的内容,避免多次查询,提高效率
- var trstr = $("#model").attr("outerHTML");
- //删除第一个tr,也就是模板
- //$("#targetTable tr").first().remove();
- $("#model").remove();
- //alert(trstr);
- var flag = true;
- $("#targetTable input").each(function(index,ele){
- var obj = $(ele);
- var value = obj.val();
- if(""==value || undefined==value){
- alert(obj.attr("name")+ "为空");
- obj.focus();
- flag = false;
- return false;
- }
- });
- //将模板添加回来
- $("#targetTable tr").first().after(trstr);
- return flag;
- }
- //重新设置序号
- function resetSequenceNum(){
- var num=0;
- $("#targetTable tr").each(function(index,dom){
- if(index!=0){
- $(dom).find("td").first().html(num);
- num++;
- }
- });
- }
- </script>

动态给table添加动态航的更多相关文章
- js动态给table添加/删除tr的方法
js动态给table添加/删除tr的方法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ...
- JQuery动态给table添加、删除行 改进版
复制代码 代码如下: <html> <head> <title> </title> <script src="js/jquery-1.4 ...
- js实现动态操作table
本章案例为通过js,动态操作table,实现在单页面进行增删改查的操作. 简要案例如下: <%@ page language="java" contentType=&quo ...
- js基础例子动态创建table实例
<style> table{ width:500px; font-weight: bold; border: 1px solid #000; border-collapse:collaps ...
- JS动态创建Table,Tr,Td并赋值
JS动态创建Table,Tr,Td并赋值. 成果库修改: 要求主题列表随成果类型改变而改变 网上查询资料后开工,在成果类型下拉框添加change()事件触发Dwr,查询主题集合——动态创建/编辑Tab ...
- 使用element-ui 组件动态合并table的行/列(第二次修改)
这是第二次修改,在通过调用后台接口返回来的时候,发现了代码中的问题:现在将博客中错误的地方改过来,添加备注 文章需求:动态实现table表格中行/列的自动合并 使用框架及UI类库:Vue+Elemen ...
- 动态生成Table内文字换行。
后台动态生成table,并把td内的文字进行换行. 前台: <body style="width:100%;height:540px;margin-left:0px;margin-to ...
- javaScript动态给下拉列表框添加选项
方式一: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></titl ...
- Jquery 实现动态加入table tr 和删除tr 以及checkbox的全选 和 获取加入TR删除TR后的数据
关于jquery实现动态加入table tr的问题我也不多说了 上面代码非常多地方都有凝视的 关于返回的 编辑后的table 数据 我这里想说的是我直接把他保存成一个连接起来的字符串了 格式 str= ...
随机推荐
- 简说LINUX 下chmod|chown|chgrp和用法和区别
1.chgrp(改变文件所属用户组) chgrp 用户组 文件名 ###就是这个格了.如果整个目录下的都改,则加-R参数用于递归. 如:chgrp -R user smb.con ...
- 记一次简单的关于SimpleDateFormat的优化
# 有一个有趣的需求: (1)预先定义每天24小时不同时间段的电价 (2) 有一个list<map<timestamp,value>>: timestamp(时间戳):valu ...
- pointer-events属性值详解
其实早知道这个属性,但是一直没有去研究过.今天正好在twitter看到这个词,就去研究了下,正好解决了目前遇到的一个小难题,所以分享下.嗯,其实这是个比较简单的CSS3属性. 在某个项目中,很多元素需 ...
- oracle set命令详解
SQL>set colsep '|'; //输出分隔符eg.SQL> set colsep '|';SQL> select * from dept; DEPTNO|DNAME ...
- 关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15
一.80286的工作模式 80286首次提出了实模式和保护模式的概念. 实模式:和8086的工作方式相同: 保护模式:提供了存储器管理机制和保护机制,支持多任务. 二.80286的寄存器 (一)通用寄 ...
- WPF的ProgressBar进度条
1. ProgressBar常用属性 1.1. Minimum:进度条的最小值,一般为 0 1.2. Maximum:进度条的最大值,一般为100 或者是 某一个数, 如复制文件时,总文件数等 1. ...
- php将“\\”转换成“\”的例子
str_replace('\\\\', '\\', $url);
- 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海 ...
- html控件
checkbox val = "<li class='layer'><label><input type='checkbox' checked name='la ...
- React.js 小书 Lesson21 - ref 和 React.js 中的 DOM 操作
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson21 转载请注明出处,保留原文链接和作者信息. 在 React.js 当中你基本不需要和 DO ...