2011-08-18 7 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の入力要素に注目すると、カーソルは1行上にジャンプします。そのようなtrのfucusにしようとしているだけで削除されました。

誰もが任意のアイデア

答えて

0

まあを持って、あなたは手動でフォーカスを設定することができます

$(element).focus(); 

は、あなたが焦点になりたい行/セルのインデックスを使用して要素を取得します。それは役に立ちますか?

+0

フォーカスは問題ではなく、フィールドにフォーカスを合わせて入力を開始すると、カーソルが上の行の同じフィールドにジャンプします –