jQuery动态操作表单示例【基于table表格】
程序员文章站
2022-08-12 08:35:52
本文实例讲述了jquery动态操作表单。分享给大家供大家参考,具体如下:
j...
本文实例讲述了jquery动态操作表单。分享给大家供大家参考,具体如下:
<html> <head> <title>jquery表格操作</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <style type="text/css"> table { border: black solid 1px; border-collapse: collapse; } td { border: black solid 1px; padding: 3px; } .td_num { width: 60px; text-align: center; } .td_item { width: 160px; text-align: center; } .td_oper { width: 120px; text-align: center; } .td_oper span { cursor: pointer; } </style> </head> <body> <table> <tr> <td class='td_num'> 序号 </td> <td class='td_item'> 步骤名称 </td> <td class='td_item'> 步骤描述 </td> <td class='td_oper'> 相关操作 <a href="#" rel="external nofollow" onclick="add_line();">添加</a> </td> </tr> </table> <table id="content"> </table> <input type="button" value="提交数据" id="btnsubmit" onclick="savedata()" /> </body> </html> <script type="text/javascript"> var currentstep = 0; var max_line_num = 0; //添加新记录 function add_line() { max_line_num = $("#content tr:last-child").children("td").html(); if (max_line_num == null) { max_line_num = 1; } else { max_line_num = parseint(max_line_num); max_line_num += 1; } $('#content').append( "<tr id='line" + max_line_num + "'>" + "<td class='td_num'>" + max_line_num + "</td>" + "<td class='td_item'><input type='text' class='stepname' value='步骤名称" + max_line_num + "'></input></td>" + "<td class='td_item'><input type='text' class='stepdescription' value='步骤描述" + max_line_num + "'></td>" + "<td class='td_oper'>" + "<span onclick='up_exchange_line(this);'>上移</span> " + "<span onclick='down_exchange_line(this);'>下移</span> " + "<span onclick='remove_line(this);'>删除</span> " + "</td>" + "</tr>"); } //删除选择记录 function remove_line(index) { if (index != null) { currentstep = $(index).parent().parent().find("td:first-child").html(); } if (currentstep == 0) { alert('请选择一项!'); return false; } if (confirm("确定要删除改记录吗?")) { $("#content tr").each(function () { var seq = parseint($(this).children("td").html()); if (seq == currentstep) { $(this).remove(); } if (seq > currentstep) { $(this).children("td").each(function (i) { if (i == 0) $(this).html(seq - 1); }); } }); } } //上移 function up_exchange_line(index) { if (index != null) { currentstep = $(index).parent().parent().find("td:first-child").html(); } if (currentstep == 0) { alert('请选择一项!'); return false; } if (currentstep <= 1) { alert('已经是最顶项了!'); return false; } var upstep = currentstep - 1; //修改序号 $('#line' + upstep + " td:first-child").html(currentstep); $('#line' + currentstep + " td:first-child").html(upstep); //取得两行的内容 var upcontent = $('#line' + upstep).html(); var currentcontent = $('#line' + currentstep).html(); $('#line' + upstep).html(currentcontent); //交换当前行与上一行内容 $('#line' + currentstep).html(upcontent); $('#content tr').each(function () { $(this).css("background-color", "#ffffff"); }); $('#line' + upstep).css("background-color", "yellow"); event.stoppropagation(); //阻止事件冒泡 } //下移 function down_exchange_line(index) { if (index != null) { currentstep = $(index).parent().parent().find("td:first-child").html(); } if (currentstep == 0) { alert('请选择一项!'); return false; } if (currentstep >= max_line_num) { alert('已经是最后一项了!'); return false; } var nextstep = parseint(currentstep) + 1; //修改序号 $('#line' + nextstep + " td:first-child").html(currentstep); $('#line' + currentstep + " td:first-child").html(nextstep); //取得两行的内容 var nextcontent = $('#line' + nextstep).html(); var currentcontent = $('#line' + currentstep).html(); //交换当前行与上一行内容 $('#line' + nextstep).html(currentcontent); $('#line' + currentstep).html(nextcontent); $('#content tr').each(function () { $(this).css("background-color", "#ffffff"); }); $('#line' + nextstep).css("background-color", "yellow"); event.stoppropagation(); //阻止事件冒泡 } //保存数据 function savedata() { var data = "<root>"; $('#content tr').each(function () { data += "<item>"; var stepname = $(this).find("td:eq(1)").find("input").val(); var stepdescription = $(this).find("td:eq(2)").find("input").val(); data += " <stepname>" + stepname + "</stepname>"; data += " <stepdescription>" + stepdescription + "</stepdescription>"; data += "<item>"; }); data += "</root>"; alert(data); } </script>
使用本站在线html/css/javascript代码运行工具:http://tools.jb51.net/code/htmljsrun,测试运行上述代码可得到如下运行效果:
更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery表格(table)操作技巧汇总》、《jquery操作xml技巧总结》、《jquery form操作技巧汇总》、《jquery常用插件及用法总结》、《jquery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。
上一篇: 基于C#的多边形冲突检测