2011-08-18 42 views
0

我有一个动态表,每行有一个删除按钮和几个输入元素。每一行都有一个ID。当我按下删除按钮时,我使用jQuery删除该行,然后更新ID。像这样IE的JQuery +表问题

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上加速。

任何人有任何想法

回答

0

好了,你可以手动设置与重点:

$(element).focus(); 

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

+0

焦点不是问题,它在我将焦点放在字段上并开始键入光标时跳转到顶部行中的相同字段 –