js 简单实现表单数据的增添,单项删改,多项删除,修改以及全选功能
2017-08-10 20:25
941 查看
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> // 添加商品函数 function add(){ // 获取表单元素 var table = document.getElementById("order"); // 以表单的行数为索引插入行 var index = table.rows.length; var row = table.insertRow(index); // 在插入行中插入1列 var c0 = row.insertCell(0); // 创建复选框元素并设置该元素的属性 var c =document.createElement("input"); c.setAttribute("type","checkbox"); c.setAttribute("name","single"); c.setAttribute("onclick","selectc()"); // 将创建好的复选框添加为插入列的最后一个子节点 c0.appendChild(c); // 在插入行中插入列并提示框输入值 var c1 = row.insertCell(1); c1.innerHTML = prompt("请输入商品名称",""); var c2 = row.insertCell(2); c2.innerHTML = prompt("请输入商品数量",""); var c3 = row.insertCell(3); c3.innerHTML = prompt("请输入商品价格",""); // 在插入行中插入列,并创建修改和删除按钮,为按钮添加点击事件函数 var c4 = row.insertCell(4); var b1 = document.createElement("input"); b1.setAttribute("type", "button"); b1.setAttribute("value", "修改"); b1.setAttribute("onclick","update(" + index + ")"); var b2 = document.createElement("input"); b2.setAttribute("type","button"); b2.setAttribute("value","删除"); b2.setAttribute("onclick","del(this)"); // 将按钮添加为插入列的子节点 c4.appendChild(b1); c4.appendChild(b2); } // 删除单个商品函数 function del(but){ // but参数为删除按钮节点,将删除按钮的父节点的父节点移除, // 即移除删除按钮所在的 <tr>标签及内容; but.parentNode.parentNode.remove(); // 判断全选框状态 allsn(); } // 删除已选商品函数 function dels(){ var item =document.getElementsByName("single"); alert(item.length); // 遍历表单,将选中的商品从最后一个开始移除 for(var i=item.length-1;i>=0;i--){ if(item[i].checked == true){ item[i].parentNode.parentNode.remove(); } } // 判断全选框状态 allsn(); } // 修改商品数量函数 function update(index){ // 获取表单元素并获取表单的操作列 var table =document.getElementById("order"); var cell = table.rows[index].cells[4]; // 将修改按钮改为确定并将点击事件的函数改为exit() cell.firstChild.setAttribute("value","确定"); cell.firstChild.setAttribute("onclick","exit(" + index + ")"); // 获取商品数量列 var cellNumber =table.rows[index].cells[2]; // 创建输入框,将该列中的值赋给输入框并将原来的值赋为空字符串 var tex = document.createElement("input"); tex.setAttribute("value",cellNumber.innerHTML) tex.setAttribute("size",5); cellNumber.innerHTML=""; // 将输入框添加为该列的最后一个子节点 cellNumber.appendChild(tex); // 修改时将焦点放在输入框并选中内容 tex.focus(); tex.select(); } // 当修改完后点击确定按钮执行的函数 function exit(index){ //将确定按钮的变为修改按钮并将点击事件函数改为修改函数 var table =document.getElementById("order"); var cell=table.rows[index].cells[4]; cell.firstChild.setAttribute("value","修改"); cell.firstChild.setAttribute("onclick","update("+ index +")"); // 将商品数量列中的输入框的值赋为该列的内容,并将输入框移除 var cellNumber =table.rows[index].cells[2]; var num = cellNumber.firstChild.value; cellNumber.firstChild.remove(); cellNumber.innerHTML=num; } // 全选函数 function allSelect(ch){ // 获取所有input元素 var item =document.getElementsByTagName("input"); // 遍历所有input元素,找到所有复选框,将让复选框的选中状态与全选复选框一致 for(var i=0;i<item.length;i++){ if(item[i].type == "checkbox"){ item[i].checked =ch.checked; } } } //全选后,取消单个复选框的选中状态的同时取消全选状态 function selectc(){ // 遍历所有复选框,当有复选框未被选中时,全选复选框不选中 var item =document.getElementsByName("single"); var alls = document.getElementById("alls"); var tag=true; for(var i=0;i<item.length;i++){ if(item[i].checked == false){ tag=false; break; } } alls.checked=tag; } //当表单没有数据时全选框不选中 function allsn(){ var alls =document.getElementById("alls"); var item =document.getElementsByName("single"); if(item.length==0){ alls.checked=false; } } </script> </head> <body onload="allsn()"> <table id="order" border="1"> <tr> <td> <input type="checkbox" id="alls" onclick="allSelect(this)" />全选</td> <td>商品名称</td> <td>商品数量</td> <td>商品价格</td> <td>操作</td> </tr> </table> <input type="button" value="添加商品" onclick="add()" /> <input type="button" value="删除已选项" onclick="dels()" /> </body> </html>
相关文章推荐
- 双向循环链表简单的插入、删除、修改以及查找功能的实现
- 双向循环链表简单的插入、删除、修改以及查找功能的实现
- 使用JS实现简单的表格的增加删除全选反选以及高亮效果
- jsp页面某项数据太长用特殊符号代替和全选并删除功能的实现
- jquery实现全选、反选以及删除、添加等功能
- Jquery 实现动态添加table tr 和删除tr 以及checkbox的全选 和 获取添加TR删除TR后的数据
- html对select标签实现数据动态增加,删除,修改功能。
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- 用JS实现CheckBox的全选 修改 取消 查询 删除的函数
- js实现表格的全选,反选,删除所选行以及隔行变色
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- js实现表单项的全选、反选以及删除操作
- UIday1002:UITableView 2 用UITableView实现通讯录cell简单的数据移动、删除、添加功能
- js javascript 实现复选框全选功能 删除复选框选中项功能
- C#+JS简单实现 定时轮询数据表 以及时弹出消息提示窗口
- JS调用C#后台代码---JS实现DataGrid“全选”、“反选”、调用后台代码批量删除数据
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- JS调用C#后台代码---JS实现DataGrid“全选”、“反选”、调用后台代码批量删除数据
- C#+JS简单实现 定时轮询数据表 以及时弹出消息提示窗口
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序