2011-08-18 3 views
0

У меня есть динамическая таблица с кнопкой удаления и несколькими элементами ввода в каждой строке. Каждая строка имеет идентификатор. Когда я нажимаю кнопку удаления, я использую jQuery для удаления строки, а затем обновляю идентификаторы. Как этоJQuery + проблема с таблицей с IE

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, курсор вскакивает на одну строку. Это похоже на попытку fucus на tr, которая была просто удалена.

Кто-нибудь есть какие-либо идеи

ответ

0

Ну, вы можете вручную настроить фокус с:

$(element).focus(); 

Получить элемент, используя индекс строки/ячейки вы хотите фокус быть. Это помогает?

+0

Фокус не проблема, его, когда я фокусируюсь на поле и начинаю вводить курсор, перескакивает в одинаковое поле в строке сверху –

Смежные вопросы