2010-11-28 2 views
1

У меня есть таблица со многими строками. Каждая строка идентифицируется в пользовательском интерфейсе с некоторым упорядоченным номером, таким как 1, 2, 3 и т. Д. Этот упорядоченный номер также отображается в пользовательском интерфейсе.удалить td и изменить данные ячейки

При удалении строки, порядок должен быть изменен динамически

Если вторая строка будет удалена. Затем остальные строки должны быть упорядочены в последовательности 1, 2, 3 и т. Д.

Как это сделать?

+0

опубликуйте часть своего HTML-кода, пожалуйста? – hunter 2010-11-28 02:30:54

ответ

2

Вы могли бы выполнить что-то подобное на удаление строки:

$("tr").click(function() { 
    var $table = $(this).closest('table'); 
    $(this).remove(); 
    $table.find('tr > td:first-child').map(function() { 
     $(this).html($(this).closest('tr')[0].rowIndex + 1); 
    }); 
}); 

Демо: http://jsfiddle.net/karim79/E5bCr/

+1

Непосредственно объясните, почему это получает голос? – karim79 2010-11-28 02:43:44

0

демка хорошо. но я думаю, что вопрос заключается в том, как упорядочить нумерацию в таблице. У меня было похоже на это, но по-другому .. Я не нашел, как заказать нумерацию , но вместо этого, поскольку содержимое таблицы из базы данных. я повторно запрашиваю в базе данных и извлекаю все записи ..

$("#my_table tbody").find("tr").remove(); //remove the tr's from below tbody 
$.getJSON("file.php",function(json){ 
ctr = 1; 
for(i=0;i<json.length;i++){ 
$('#my_table tbody:first').append('<tr><td>'+ctr+'</td></tr>'); 
ctr++; 
}); 

это мое временное решение.

0
<script> 
    var gCounter = 1; // global 
    $('table').bind('row_deleted', 
     function() { 
      gCounter = 1; // reset 
      $(this).find('tbody tr').each(
       function() { 
        $(this).find(':first-child').html(gCounter++); 
       }); 
     }); 

    $('#your_table').trigger('row_deleted'); 

</script> 
Смежные вопросы