动态给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= ...
随机推荐
- DB2 锁问题的监控和解决
常见的锁问题包括: 锁等待 锁超时 锁升级 死锁 而根据问题的特性通常分为两种: 实时事件:问题正在发生 历史事件:问题已经过去 如果实时事件,DBA 可以通过查看表信息.GET SNAPSHOT 或 ...
- MySQL修改提示符
MySQL提示符 \D 完整日期 \d 当前数据库 \h 服务器名称 \u 当前用户 1.连接之前修改提示符 mysql -uroot -proot --prompt [MySQL提示符] 2.连接之 ...
- CoreJava笔记之线程
程序,进程和线程程序:没有执行的指令序列和相关的数据的集合(如:qq.exe) 如:磁盘上的可执行命令进程:正在执行的程序,进程占用资源(CPU,Memoary,IO)线程:是进程中并发执行的过程(共 ...
- 8.14_end
the first interview 事件委托(ul.li) jsonp原理实现 印象最深的项目 each的实现 ajax的实现 性能优化的方法 判断Function和Boolean 印象最深的项目 ...
- 将Mysql的一张表导出至Excel格式文件
将Mysql的一张表导出至Excel格式文件 导出语句 进入mysql数据库,输入如下sql语句: select id, name, age from tablename into outfile ' ...
- vue-cli 基础搭建
1.安装node 2.npm install webpack -g 3.npm install vue-cli -g 4.然后进入到文件下边 vue init webpack 文件名字 5.进入工程文 ...
- html5的meta标签
meta标签中的http-equiv属性使用介绍 meta是html语言head区的一个辅助性标签;meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言等等;感兴趣的朋友可以了解下 ...
- Java调用打印机打印指定路径图片
依赖 javax.print package com.xgt.util; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; ...
- 送专利啦~~ .Net高阶异常处理之TopLevelEH
我们知道,.Net的应用程序运行在.net framework虚拟机上,对于在运行时发生的错误,我们有try...catch可以捕捉,实在不济,对于winform和asp.net 我们都有全局的事件可 ...
- Asp.NET MVC4 + Ajax 实现多文件上传
本文转自http://www.cnblogs.com/freeliver54/archive/2013/05/15/3079700.html JS部分测试可以,jQuery部分没有测试先留着 HTML ...