通过jQuery实现列表的数据动态添加与删除
代码演示
演示地址
背景隔行换色
CSS代码
/* 设置奇数行颜色 */ .even { background-color: dodgerblue; } /* 设置偶数行背景颜色 */ .odd { background-color: pink; }
JavaScript代码
// 设置奇数偶数行的背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd");
全选和取消全选事件
//设置全选和取消全选事件 $("thead th:first").append("<span id='show'></span>") $("thead input:checkbox").click(function () { if ($(this).prop("checked")) { $("tbody input:checkbox").prop("checked", true); $("#show").replaceWith("<span id='show'>已全选</span>"); } else { $("tbody input:checkbox").prop("checked", false); $("#show").replaceWith("<span id='show'>已取消全选</span>"); } });
删除
//给当前和未来元素添加绑定事件 $("tbody").on("click", "td>a:nth-child(2)", function () { if (confirm("确定要删除吗")) { //取消背景颜色 $("tr:even").removeClass("even"); $("tr:odd").removeClass("odd"); //移除tr $(this).parent().parent().remove() //添加背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd"); } });
新增
HTML代码
<!--新增列表--> <div> <form> <table> <tr> <td>序号</td> <td><input type="text"/></td> </tr> <tr> <td>分类名</td> <td><input type="text"/></td> </tr> <tr> <td>分类描述</td> <td><input type="text"/></td> </tr> <input type="reset" value="确定"/> <input type="reset" value="取消"/> </table> </form> </div>
CSS代码
/*默认隐藏新增页面*/ div:nth-child(2) { display: none; }
JavaScript代码
// 点击"新增"按钮显示新增列表 $("div:nth-child(1)>input:button").click(function () { $("div:nth-child(2)").show("slow"); });
//点击"取消"按钮隐藏div $("div:nth-child(2) :reset:last").click(function () { $("div:nth-child(2)").hide("slow"); });
//点击"确定"按钮,提交表单 $("div:nth-child(2) :reset:first-child").click(function () { $("div:nth-child(1) tbody").append(" <tr>\n" + " <td><input type=\"checkbox\"/></td>\n" + " <td></td>\n" + " <td></td>\n" + " <td></td>\n" + " <td><a href=\"#\">修改</a> <a href=\"#\">删除</a></td>\n" + " </tr>"); // 获取文本框节点 var textDom = $("div:nth-child(2) :text"); // 获取td节点 var tdDom = $("div:nth-child(1) tr:last td"); for (var i = 0; i < textDom.length; i++) { //获取文本框内容 var content = textDom.eq(i).val(); // 把文本框获取的内容写入到td内 tdDom.eq(i + 1).text(content); } //添加背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd"); $("div:nth-child(2)").hide("slow"); });
完整代码
HTML代码
<body> <div> <input type="button" value="新增"/> <table cellpadding="0px" cellspacing="0px"> <thead> <tr> <th><input type="checkbox"/></th> <th>序号</th> <th>分类名</th> <th>分类描述</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox"/></td> <td>1</td> <td>1</td> <td>1</td> <td><a href="#">修改</a> <a href="#">删除</a></td> </tr> <tr> <td><input type="checkbox"/></td> <td>2</td> <td>2</td> <td>2</td> <td><a href="#">修改</a> <a href="#">删除</a></td> </tr> <tr> <td><input type="checkbox"/></td> <td>3</td> <td>3</td> <td>3</td> <td><a href="#">修改</a> <a href="#">删除</a></td> </tr> <tr> <td><input type="checkbox"/></td> <td>4</td> <td>4</td> <td>4</td> <td><a href="#">修改</a> <a href="#">删除</a></td> </tr> </tbody> </table> </div> <!--新增列表--> <div> <form> <table> <tr> <td>序号</td> <td><input type="text"/></td> </tr> <tr> <td>分类名</td> <td><input type="text"/></td> </tr> <tr> <td>分类描述</td> <td><input type="text"/></td> </tr> <input type="reset" value="确定"/> <input type="reset" value="取消"/> </table> </form> </div> </body>
CSS代码
table, th, td { border: 1px solid black; } th, td { width: 120px; height: 40px; line-height: 40px; text-align: center; } /* 设置奇数行颜色 */ .even { background-color: dodgerblue; } /* 设置偶数行背景颜色 */ .odd { background-color: pink; } /* 默认隐藏新增页面*/ div:nth-child(2) { display: none; }
JavaScript代码
<script> $(function () { // 设置奇数偶数行的背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd"); //设置全选和取消全选事件 $("thead th:first").append("<span id='show'></span>") $("thead input:checkbox").click(function () { if ($(this).prop("checked")) { $("tbody input:checkbox").prop("checked", true); $("#show").replaceWith("<span id='show'>已全选</span>"); } else { $("tbody input:checkbox").prop("checked", false); $("#show").replaceWith("<span id='show'>已取消全选</span>"); } }); //新增商品 $("div:nth-child(1)>input:button").click(function () { $("div:nth-child(2)").show("slow"); }); //"取消" 按钮 $("div:nth-child(2) :reset:last").click(function () { $("div:nth-child(2)").hide("slow"); }); //"确定" 按钮 $("div:nth-child(2) :reset:first-child").click(function () { $("div:nth-child(1) tbody").append(" <tr>\n" + " <td><input type=\"checkbox\"/></td>\n" + " <td></td>\n" + " <td></td>\n" + " <td></td>\n" + " <td><a href=\"#\">修改</a> <a href=\"#\">删除</a></td>\n" + " </tr>"); // 获取文本框节点 var textDom = $("div:nth-child(2) :text"); // 获取td节点 var tdDom = $("div:nth-child(1) tr:last td"); for (var i = 0; i < textDom.length; i++) { //获取文本框内容 var content = textDom.eq(i).val(); // 把文本框获取的内容写入到td内 tdDom.eq(i + 1).text(content); } //添加背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd"); $("div:nth-child(2)").hide("slow"); }); //给当前和未来元素添加绑定事件 $("tbody").on("click", "td>a:nth-child(2)", function () { if (confirm("确定要删除吗")) { //取消背景颜色 $("tr:even").removeClass("even"); $("tr:odd").removeClass("odd"); //移除tr $(this).parent().parent().remove() //添加背景颜色 $("tr:even").addClass("even"); $("tr:odd").addClass("odd"); } }); }); </script>
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“jQuery列表动态增加和删除的实现方法”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2024年12月26日
2024年12月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]