2011-08-18 68 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

焦點不是問題,它在我將焦點放在字段上並開始鍵入光標時跳轉到頂部行中的相同字段 –