铁雪资源网 Design By www.gsvan.com

通过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>&nbsp<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>&nbsp<a href="#">删除</a></td>
 </tr>
 <tr>
  <td><input type="checkbox"/></td>
  <td>2</td>
  <td>2</td>
  <td>2</td>
  <td><a href="#">修改</a>&nbsp<a href="#">删除</a></td>
 </tr>
 <tr>
  <td><input type="checkbox"/></td>
  <td>3</td>
  <td>3</td>
  <td>3</td>
  <td><a href="#">修改</a>&nbsp<a href="#">删除</a></td>
 </tr>
 <tr>
  <td><input type="checkbox"/></td>
  <td>4</td>
  <td>4</td>
  <td>4</td>
  <td><a href="#">修改</a>&nbsp<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>&nbsp<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>

总结

标签:
jquery动态增加列表,jquery增加一行和删除,jquery动态增加

铁雪资源网 Design By www.gsvan.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
铁雪资源网 Design By www.gsvan.com

评论“jQuery列表动态增加和删除的实现方法”

暂无jQuery列表动态增加和删除的实现方法的评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?