添加\删除行时如何更改行号

时间:2014-03-29 12:20:12

标签: javascript jquery

我在表格中集成了添加行和删除行功能。如果我添加行第二行编号也是1.我需要按照每次添加和删除更改number of each row,如1,2等。

我使用了这个小提琴的代码http://jsfiddle.net/MJGV2/6/

如何实现这一目标?任何帮助,将不胜感激。感谢。

3 个答案:

答案 0 :(得分:6)

您可以添加:

var renum = 1;
$("tr td strong").each(function() {
    $(this).text(renum);
    renum++;
});

请参阅此Fiddle demo

您的代码中存在很多错误 - 例如,所有id都必须是唯一的,您应该解决此问题。

答案 1 :(得分:0)

例如,您可以添加调用recalculate函数,如下所示:

function recalculate() {
    var i = 1;
    $(".numberRow").each(function() {
        $(this).find("strong").text(i++);     
    });
}

其中numberRow是td上的css类,其中存储行号。

我在jsfiddle example

中添加此内容

答案 2 :(得分:0)

您的代码中遗漏了很多东西。我已经正确调整了一切

JS CODE:

$("input[type='button'].AddRow").on('click',

function () {
 if ($(this).val() == 'Delete') {
    trSet = $(this).closest('tr').nextAll();
    currIndex = $(this).closest('tr').find('td span').html();
    $(this).closest('tr').remove();
    trSet.each(function () {
        $(this).find('td span').html(currIndex);
        currIndex++;
    });
    count = currIndex - 1;
 } else {
    var $tr = $(this).closest('tr').clone(true);
    var $input = $tr.find('input.startdatum');
    ++count;
    $tr.find('td span').html(count);
    $(this).val('Delete');
    var id = 'datepicker' + count;
    $input.attr('id', id).data('index', count);
    console.log(count);
    $tr.appendTo($(this).closest('table'));
    setdatepicker();
 }
});

现场演示:

http://jsfiddle.net/MJGV2/14/

快乐编码:)