jQuery動態(tài)操作表單示例【基于table表格】
本文實例講述了jQuery動態(tài)操作表單。分享給大家供大家參考,具體如下:
<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="提交數(shù)據" 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(); //阻止事件冒泡 } //保存數(shù)據 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程序設計有所幫助。
- jQuery實現(xiàn)獲取table表格第一列值的方法
- JQuery Ajax動態(tài)生成Table表格
- jQuery對table表格進行增刪改查
- 基于JQuery的動態(tài)刪除Table表格的行和列的代碼
- JQuery 動態(tài)生成Table表格實例代碼
- 使用jQuery操作HTML的table表格的實例解析
- jQuery實現(xiàn)Table表格隔行變色及高亮顯示當前選擇行效果示例
- jQuery實現(xiàn)table表格checkbox全選的方法分析
- jQuery+CSS實現(xiàn)的table表格行列轉置功能示例
- jQuery實現(xiàn)table表格信息的展開和縮小功能示例
- jQuery實現(xiàn)為table表格動態(tài)添加或刪除tr功能示例
相關文章
jQuery在vs2008及js文件中的無智能提示的解決方法
我通過下面方法實現(xiàn)了jQuery在VS2008及js文件中的智能提示的,希望對朋友們有所幫助。2010-12-12基于jquery的使ListNav兼容中文首字拼音排序的實現(xiàn)代碼
jQuery的字母排序插件ListNav不支持中文,比較頭疼,最后找到一個取中文首字母的JS函數(shù),再配合ListNav,可以完善支持中文按首字母進行排序。2011-07-07