jquery动态列表的新增、编辑、删除

本文参考网络的一个例子(提供附件下载)
动态添加行、删除行,保存时遍历某列的值,组成逗号分隔的字符串传到后台,编辑时显示结果集,能继续添加和删除。
主要的代码如下:

$(document).ready(function(){
$("#but").click(function(){
var $table=$("#tzgjz_tab tr");
var len=$table.length;
$("#tzgjz_tab").append("<tr id="+(len+1)+"><td align=\'center\'>"+len+"</td><td align=\'center\'>"+$("#tzgjz").val()+"</td><td align=\'center\'><a href=\'javascript:deltr("+(len+1)+")\'>删除</a></td></tr>");
//清空输入框
$("#tzgjz").val('');
})
})

//删除行
function deltr(index){
$table=$("#tzgjz_tab tr");
$("tr[id=\'"+index+"\']").remove();
}


在body里的table。编辑的时候遍历list,写法与动态拼tr保持一致。table后面跟一个输入框,一个按钮,输入的值点击添加进入动态列表里。

<div>
<table id="tzgjz_tab" width="50%" align="left" border="0" cellspacing="1" cellpadding="0" bgcolor="#b5d6e6" class="table_edit">
<tr>
<td width="50" align="center">序号</td>
<td align="center">关键字</td>
<td width="80" align="center">操作</td>
</tr>
<s:iterator value="#request.tzgjzList" status="state">
<tr id="<s:property value="xh+1"/>">
<td align="center"><s:property value="xh"/></td>
<td align="center"><s:property value="tzgjz_tab"/></td>
<td align="center"><a href='javascript:deltr("<s:property value="xh+1"/>")'>删除</a></td>
</tr>
</s:iterator>
</table>
<div>
请输入关键字<input type="text" id="tzgjz" />
<input type="button" id="but" value="添加" />
</div>
</div>


保存的时候,相加tzgjs_tab列的值,用逗号分隔,然后传给后台处理

var gjz='';
$("table#tzgjz_tab tr td:nth-child(2)").each(function(){
if($(this).text()!='关键字'){//去掉标题
if(gjz==''){
gjz+=$(this).text();
}else{
gjz+= ","+$(this).text();
}
}
});



效果图1
[img]http://dl.iteye.com/upload/picture/pic/108010/d9945095-7d40-37e2-9d9d-57c50710b211.jpg[/img]
效果图2
[img]http://dl.iteye.com/upload/picture/pic/108012/1a096d2e-0e62-33b3-b78f-feed190feeb6.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于jQuery实现动态增删查表格,其中每条数据带有复选框: HTML代码: ```html <table id="myTable"> <thead> <tr> <th><input type="checkbox" id="checkAll"></th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" class="checkItem"></td> <td>张三</td> <td>20</td> <td> <button class="editBtn">编辑</button> <button class="deleteBtn">删除</button> </td> </tr> </tbody> </table> <button id="addBtn">新增</button> ``` jQuery代码: ```javascript // 全选/取消全选 $("#checkAll").click(function() { $(".checkItem").prop("checked", this.checked); }); // 单个复选框状态变时变全选复选框状态 $(".checkItem").change(function() { if ($(this).prop("checked") === false) { $("#checkAll").prop("checked", false); } else if ($(".checkItem:checked").length === $(".checkItem").length) { $("#checkAll").prop("checked", true); } }); // 点击新增按钮 $("#addBtn").click(function() { var newRow = "<tr>" + "<td><input type='checkbox' class='checkItem'></td>" + "<td><input type='text' class='nameInput'></td>" + "<td><input type='text' class='ageInput'></td>" + "<td><button class='saveBtn'>保存</button>" + "<button class='cancelBtn'>取消</button></td>" + "</tr>"; $("#myTable tbody").append(newRow); }); // 点击保存按钮 $("#myTable").on("click", ".saveBtn", function() { var name = $(this).parents("tr").find(".nameInput").val(); var age = $(this).parents("tr").find(".ageInput").val(); var newRow = "<tr>" + "<td><input type='checkbox' class='checkItem'></td>" + "<td>" + name + "</td>" + "<td>" + age + "</td>" + "<td><button class='editBtn'>编辑</button>" + "<button class='deleteBtn'>删除</button></td>" + "</tr>"; $(this).parents("tr").replaceWith(newRow); }); // 点击取消按钮 $("#myTable").on("click", ".cancelBtn", function() { $(this).parents("tr").remove(); }); // 点击编辑按钮 $("#myTable").on("click", ".editBtn", function() { var name = $(this).parents("tr").find("td:eq(1)").text(); var age = $(this).parents("tr").find("td:eq(2)").text(); var editRow = "<tr>" + "<td><input type='checkbox' class='checkItem'></td>" + "<td><input type='text' class='nameInput' value='" + name + "'></td>" + "<td><input type='text' class='ageInput' value='" + age + "'></td>" + "<td><button class='saveBtn'>保存</button>" + "<button class='cancelBtn'>取消</button></td>" + "</tr>"; $(this).parents("tr").replaceWith(editRow); }); // 点击删除按钮 $("#myTable").on("click", ".deleteBtn", function() { $(this).parents("tr").remove(); }); ``` 以上代码实现动态增删查表格,并且每条数据带有复选框。其中,全选/取消全选、单个复选框状态变时变全选复选框状态通过jQuery实现新增、保存、取消、编辑删除等操作通过绑定jQuery事件实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值