IE的JQuery +表问题

时间:2011-08-18 11:37:11

标签: jquery

我有一个带有删除按钮的动态表,每行有几个输入元素。每行都有一个ID。当我按下删除按钮时,我使用jQuery删除该行,然后更新ID。喜欢这个

function deleteRow(row) {
    var num = $("#table>tbody>tr").length;
    if (num > 1) {
        $(row).closest("tr").remove();
    }
    updateIds();
}

function updateIds() {
        var counter = 0;
        var num = $("#myTable>tbody>tr").length;
        $("#myTable>tbody>tr").each(function(){
            $("input",this).each(function(){
                var currentId = $(this).attr("id");
                var newId = currentId.substring(0,currentId.indexOf(('_'))+1);
                $(this).attr("id",newId+counter);
                var currentPath = $(this).attr("name");

                var front = currentPath.substring(0,currentPath.indexOf('[')+1);
                var back = currentPath.substring(currentPath.indexOf(']'));

                $(this).attr("name",front+counter+back);

            })

            counter++;
        })
    }

这在FF和Chrome中运行良好,但在IE 7中我运行这两个功能后有一些trubble。当我专注于tr中的输入元素时,光标会向上跳一行。它就像它试图在刚被删除的tr上的fucus一样。

任何人都有任何想法

1 个答案:

答案 0 :(得分:0)

好吧,你可以用以下方式手动设置焦点:

$(element).focus();

使用您想要焦点的行/单元格的索引获取元素。这有帮助吗?