为接下来要做一个动态输入的表格积累的资料,非常不错,下面分享给大家,供大家参考,如果有更好的插件和封装的东西,共享下哈。。
关键代码如下:
<script type="text/javascript"> var currentActiveRow; //选中的颜色 var customTable = function() { }; customTable.prototype = { init: { ajaxUrl: "", tId: "tbody", delMsg: "确认要删除吗" }, ajax: function(params, callback) { var that = this; $.ajax({ type: "get", cache: false, dataType: "json", url: that.init.ajaxUrl, data: params, success: arguments[1] || function() { }, error: arguments[2] || function() { if (window.console) { console.log("error log: " + data.responseText); } } }); }, initData: function() { var that = this; var params = { ajaxMethod: "getbookbag", random: Math.random() }; var suc = function(data) { if (data.isSuccess === 1) { } else { } }; var err = function() { }; ttable.ajax(params, suc, err); }, addRow: function() { var tbody = document.getElementById(this.init.tId); var rowNo = tbody.rows.length; tbody.insertRow(rowNo); tbody.rows[rowNo].insertCell(0); tbody.rows[rowNo].cells[0].appendChild(document.createTextNode(rowNo + 1)); //innerText = "0001";//innerText 和innerHTML tbody.rows[rowNo].insertCell(1); tbody.rows[rowNo].cells[1].innerHTML = "<input name='radioRMS' type='radio' value='1'></input>"; tbody.rows[rowNo].insertCell(2); tbody.rows[rowNo].cells[2].innerHTML = "<input name='checkboxRMS' type='checkbox' value='1'></input>"; tbody.rows[rowNo].insertCell(3); tbody.rows[rowNo].cells[3].innerHTML = "<input name='descript' type='text' value='des" + (rowNo + 1) + "'></input>"; tbody.rows[rowNo].insertCell(4); tbody.rows[rowNo].cells[4].innerHTML = "<input type='button' value='删除' onclick='ttable.deleteRow(event)'/><input type='button' value='编辑' onclick='ttable.editRow(event)'/><a href='javascript:void(0)' onclick='ttable.moveUp(this)'>↑</a> <a href='javascript:void(0)' onclick='ttable.moveDown(this)'>↓</a>"; tbody.rows[rowNo].onclick = ttable.changeActiveRow; }, deleteRow: function(eve) { if (confirm(this.init.delMsg)) { element = window.event "TR") { obj = obj.parentNode; if (currentActiveRow) currentActiveRow.style.backgroundColor = ""; currentActiveRow = obj; currentActiveRow.style.backgroundColor = "Red"; } }, cleanWhitespace: function(element) { //遍历element的子节点 for (var i = 0; i < element.childNodes.length; i++) { var node = element.childNodes[i]; if (node.nodeType == 3 && !/\s/.test(node.nodue)) node.parentNode.removeChild(node); } //使表格行上移,接收参数为链接对象 }, moveUp: function(_a) { var _table = document.getElementById(this.init.tId); ttable.cleanWhitespace(_table); //var _row = _a.parentNode.parentNode; var _row = currentActiveRow; //如果不是第一行 交换顺序 if (_row.previousSibling) ttable.swapNode(_row, _row.previousSibling); }, moveDown: function(_a) { var _table = document.getElementById(this.init.tId); ttable.cleanWhitespace(_table); //通过链接对象获取表格行的引用 //var _row = _a.parentNode.parentNode; var _row = currentActiveRow; //如果不是最后一行 则与下一行交换顺序 if (_row.nextSibling) ttable.swapNode(_row, _row.nextSibling); }, swapNode: function(node1, node2) { var _parent = node1.parentNode; var _t1 = node1.nextSibling; var _t2 = node2.nextSibling; //将node2插入到原来node1的位置 if (_t1) _parent.insertBefore(node2, _t1); else _parent.appendChild(node2); //将node1插入到原来ndoe2的位置 if (_t2) _parent.insertBefore(node1, _t2); else _parent.appendChild(node1); } } var ttable = new customTable(); </script>
其中HTML中的:
<table border="1" id="tableSpan"> <thead id="thead"> <tr onclick="ttable.changeActiveRow(this);"> <td> 序号 </td> <td> 缺省 </td> <td> 启用 </td> <td> 选项内容 </td> <td> 操作 </td> </tr> </thead> <tbody id="tbody"> </tbody> </table> <button onclick="ttable.addRow()" value="添加"> 添加</button> <button onclick="ttable.moveUp()" value="添加"> ↑</button> <button onclick="ttable.moveDown()" value="添加"> ↓</button>
以上所述是小编给大家介绍的JS封装的自动创建表格的实现代码的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月30日
2024年11月30日
- 一流的爵士乐《FirstClassJazz》ArtBlakey[正版原抓WAV+CUE]
- 杨千嬅《狼来了》[DSF][1.2G]
- 车载《旧情绵绵一路伴随》80后经典[FLAC/MP3][1G]
- 刀郎《身披彩衣的姑娘》[FLAC][1.4G]
- 张国荣《MissYouMix》美压版[正版原抓WAV+CUE]
- 长笛和吉他的浪漫音乐《OriginalRomanticMusicforFluteandGuitar》[WAV+CUE]
- 窦唯《八段锦》(上海音像)[WAV+CUE]
- DJ动力100%《堵在路上的解闷high曲》[FLAC/MP3][948M]
- 节奏炸裂《抖音最嗨 DJ 舞曲大合集》[FLAC/MP3][2G]
- 群星《百代No.1精选》[WAV+CUE][965M]
- 费玉清《中华民GUO》海山专辑[正版原抓WAV+CUE]
- Brahms-PianoConcertoNo.2(KarlBohm-VPO,WilhelmBackhaus-piano,1967)[SACD-WAV]
- ConcertoScirocco-SirensSoldiers.SongswithoutWordsfromtheItalianSeicento(2024)[24B
- 群星《天赐的声音第五季 第12期》[320K/MP3][339.36MB]
- 群星《天赐的声音第五季 第12期》[FLAC/分轨][1.64G]