本帖最后由 nfclass 于 2011-06-24 09:12:36 编辑

解决方案 »

  1.   


    $("#BtDel").click(function () {
                    $("#tb tr:gt(0)").each(function () {
                        if ($(this).find("#CK").get(0).checked == true) {
                            $(this).remove();
                        }
                    });
                    i = 1;
                    $("#tb tr:gt(0)").each(function (i) {
                        $(this).html($(this).html().replace(/\d/g,i+1));
                        
                    });
                    $("#CKA").attr("checked", false);
                });删除的时候循环便利一下 ,把所有的数字都替换成行数 .
    ps :你这里应该是用gt(0) 。大于第一行 。
      

  2.   


    zell419  可能我没说明白,第二行开始只要修改  <INPUT class="INPUT" TYPE="text" NAME="qq"> 中 NAME="qq"就可以了 按照qq1 , qq2 ,qq3 这样排序下去
      

  3.   

    哦哦 。其实我那个把innerHTML中所有的数字都替换也不是很好 ,怕当中还有其他地方需要用到数字 。
    反正就是在单击删除的时候 对行遍历 ,重新组织下 。
      

  4.   

            $(document).ready(function () {
                //隐藏模板tr
                //$("#tb tr").eq(2).hide();
                var i = 1;
                $("#BtAdd").click(function () {
                    //复制一行
                    var tr = $("#tb tr").eq(1).clone();
                    tr.find("td").get(0).innerHTML = ++i;
                    var inputs = tr.get(0).getElementsByTagName("input");
                    for(var j = 0 ; j < inputs.length; j ++)
                    {
                        inputs[j].name = inputs[j].name+(i-1)
                        alert(inputs[j].name);
                    }
                    tr.show();
                    tr.appendTo("#tb");
                });
                $("#BtDel").click(function () {
                    $("#tb tr:gt(1)").each(function () {
                        if ($(this).find("#CK").get(0).checked == true) {
                            resetIndex(this)
                            $(this).remove();
                        }
                    });
                    i = 1;
                    $("#tb tr:gt(1)").each(function () {
                        $(this).find("td").get(0).innerHTML = ++i;
                    });
                    $("#CKA").attr("checked", false);
                });
                $("#CKA").click(function () {
                    $("#tb tr:gt(1)").each(function () {
                        $(this).find("#CK").get(0).checked = $("#CKA").get(0).checked;
                    });
                });
            })
            
            function resetIndex(tr)
            {
                 var index = tr.getElementsByTagName("td")[0].innerHTML;
                 var next = tr.nextSibling
                 if(!next) return false;
                 var ipts = next.getElementsByTagName("input");
                 for(var i =0; i < ipts.length; i ++)
                 {
                     name = ipts[i].name;
                     name = name.replace(/\d+/,parseInt(index)-1);
                     ipts[i].name = name;
                 }
                 resetIndex(next);
            }
      

  5.   


    喔!哈哈 这才是我想要的结果。
    aspwebchh 测试还有点小问题,所有超链接都变成打开新窗口了,这是那句代码有问题呢?
      

  6.   


    frame框架内的超链接全部变成打开新窗口了,原来不是。
    不知道是不是用了这段代码的原因?另外 var ipts = next.getElementsByTagName("input");
    只能取input的元素,
    select是要再写一个吗? var sels = next.getElementsByTagName("select");
      

  7.   


    测试发现for循环这段脚本有问题,导致frame框架的链接打开新窗口for(var i =0; i < ipts.length; i ++)
                 {
                     name = ipts[i].name;
                     name = name.replace(/\d+/,parseInt(index)-1);
                     ipts[i].name = name;
                 }