js 动态添加Table tr,选中与不选中checkbox行数NO的变化

首次加载进入页面,如图:

注:Table是在js中拼接字符串循环动态添加的(拼接字符串,详见之前随笔)

点击Line2 checkbox后,效果如图:

实现的效果就是: 点击checkbox — 显示本行的其他列的textbox,同时动态新增下一行NO行数+1,其他列的textbox隐藏;

                       取消checkbox —remove本行的所有数据,同时下面的一行向上移,NO行数-1;

 

实现的js代码:

 1   function ShowEdit(obj) {
 2         //获取当前行数     
 3         var num = obj.id;
 4         num = $.trim(num.replace("gvItem_ck_", ""));
 5         if ($.trim($(obj).attr("id")) == "gvItem_ck_0") {
 6             $(obj).attr("checked", true);
 7             return;
 8         }
 9         if ($(obj).is(":checked") == true) {//点击checkbox
10             $($(obj).parent().parent("tr")).each(function () {
11                 $(this).find(".ck").find("input").attr("checked", "checked");
12                 var a = $(this).find("td").eq(1).text();
13                 $(obj).parent().nextAll().eq(1).find("input").css("display", "inline");
14                 $(obj).parent().nextAll().eq(2).find("input").css("display", "inline");
15                 $(obj).parent().nextAll().eq(3).find("input").css("display", "inline");
16                 $(obj).parent().nextAll().eq(4).find("input").css("display", "inline");
17                 $(obj).parent().nextAll().eq(5).find("input").css("display", "inline");
18 
19                 var trItem = "<tr align='center' id='line" + (parseInt(num) + 1) + "'><td><input id='gvItem_ck_" + (parseInt(num) + 1) + "' type='checkbox' class='ck' onclick='ShowEdit(this);'/></td>"
20                  + "<td><span id='gvItem_lbNO_" + (parseInt(num) + 1) + "' class='lbNO'>" + (parseInt(a) + 1) + "</span></td>"
21                  + "<td><input type='text' maxlength='50' id='gvItem_tbPN_" + (parseInt(num) + 1) + "' style='width:80%;display: none' class='tbPN'/></td>"
22                  + "<td><input type='text' maxlength='50' id='gvItem_tbSN_" + (parseInt(num) + 1) + "' style='width:80%;display: none' class='tbSN'/></td>"
23                  + "<td><input type='text' maxlength='3'  id='gvItem_tbQty_" + (parseInt(num) + 1) + "' style='width:80%;display: none' class='tbQty'  onkeyup='GetQty()'/></td>"
24                  + "<td><input type='text' maxlength='30' id='gvItem_tbSRNo_" + (parseInt(num) + 1) + "' style='width:80%;display: none' class='tbSRNo'/></td>"
25                  + "<td><input type='text' maxlength='30' id='gvItem_tbSRLineNo_" + (parseInt(num) + 1) + "' style='width:80%;display: none' class='tbSRLineNo' onkeyup='GetSRLineNo()'/></td></tr>";
26                 $("#line" + num).after(trItem);
27             });
28         } else {//取消checkbox
29             var trNode = $(obj).parent().parent();
30             $($(obj).parent().parent().nextAll("tr")).each(function () {
31                 var a = $(this).find("span").eq(0).text();
32                 $(this).find("span").eq(0).text(a - 1);                
33             });
34             trNode.remove();
35         }
36     }

 

posted @ 2017-03-02 17:29  Bonnie_W  阅读(510)  评论(0编辑  收藏  举报