javascript - 删除后在 JavaScript 中重新编号附加表格行

标签 javascript jquery

    $('#mhTable').on('click', '.DeleteRow', function() 
    {
        if(confirm("Are you sure you want to delete this?")) {
        $(this).closest('tr').remove();
        count --;
        }
        else {
            return false;
        }
    });

嗨,我有这些代码来删除表行,我的问题是,当我删除数字之间的行时,例如我有 4 行,并且我删除第 2 行,行的编号将类似于1,3,4..但我需要它是1,2,3我将如何实现这个?谢谢你的帮助

这是我动态添加表格的方法

var rowCount = $('#mhTable >tbody >tr').length;
var count = rowCount + 1;
var host = window.location.protocol + "//" + window.location.host + "/" + "\files/Icons/delete.png";
    $('#mhAddRow').click(function(e) 
    {
        $("#mhTable tr:last").after('<tr id="row' + count + '">'
        + '<td> <sup> <img class="DeleteRow" style="cursor:pointer;" id="rowDelete" name="rowDelete" height="7" width="7" src="'+host+'"> </sup> <input type="text" id="rowsID'+count+'" name="rows['+count+']" style="width:73%;text-align:center;" value="'+count+'" readOnly="readonly"> </input> </td>'

        + '<td> <input type="text" style="width:98%;" id="process" class="process" name="process['+count+']" value=""> </input> </td>'

        + '<td> <input type="text" style="width:96%;" id="PIC" class="PIC" name="PIC['+count+']" value="" > </input> </td> '

        + '<td> <input type="text" style="width:95%;text-align:right;" id="prev" class="prev" name="prev['+count+']" onkeyup="ManhourSaving();totalmhPrevious();ManhourSavingRatio();mhInMinutes();savedMHyearly();costAnnual()" onkeypress="return isNumberKey(event)" maxlength="5" value="" ></input> </td> '

        + '<td> <input type="text" style="width:95%;text-align:right;" id="expect" class="expect" name="expect['+count+']" class="expected" onkeyup="ManhourSaving();totalmhExpected();ManhourSavingRatio();mhInMinutes();savedMHyearly();costAnnual()" onkeypress="return isNumberKey(event)" maxlength="5" value="" > </input> </td> '

        + '<td> <input type="text" style="width:96%;text-align:right;" id="mhSavings" class="mhSavings" name="mhSavings['+count+']" readOnly="readonly" value="0.00" > </input> </td> '

        + '<td> <input  type="text" style="width:95%;text-align:right;" id="ratio" class="ratio" name="ratio['+count+']" readOnly="readonly" value="0.00" > </input> </td> '

        + '<td> <input type="text" style="width:95%;text-align:right;" id="PaperReducPrev" class="PaperReducPrev" name="PaperReducPrev['+count+']"onkeyup="PaperReductionPrevious();PaperReduction();PaperReductionRatio();totalPaperReduced();paperReductionyearly();costSheet()" onkeypress="return isNumberKey(event)" maxlength="5" value="" > </input> </td>'

        + '<td> <input type="text" style="width:95%;text-align:right;" id="PaperReducExpect" class="PaperReducExpect" name="PaperReducExpect['+count+']" onkeyup="PaperReductionExpected();PaperReduction();PaperReductionRatio();totalPaperReduced();paperReductionyearly();costSheet()" onkeypress="return isNumberKey(event)" maxlength="5" value="" > </input> </td>'

        + '<td> <input type="text" style="width:96%;text-align:right;" id="paperReduced" class="paperReduced" name="paperReduced['+count+']" readOnly="readonly" value="0"> </input> </td> '

        + '<td> <input type="text" style="width:95%;text-align:right;" id="PaperReducRatio" class="PaperReducRatio" name="paperReducRatio['+count+']" readOnly="readonly" value="0.00" > </input>  </td> ');

        $.post('mis.php/new_development_request/loadView_newDevelopmentRequest', {counter: count});
        count++;
    });

最佳答案

先删除该行,然后使用 $.each 函数更新其他 tr

看看 fiddle 以获得结果:https://jsfiddle.net/hL625r4p/

$(document).ready(function () {
    $("button").click(function () {
       $(this).closest('tr').remove();
        $(".row-id").each(function (i){
           $(this).text(i+1);
        }); 
    });     
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border='1'>
    <tr>
        <td class='row-id'>1</td>
        <td>Row 1</td>
        <td><button>Delete</button></td>
    </tr>
    <tr>
        <td class='row-id'>2</td>
        <td>Row 2</td>
        <td><button>Delete</button></td>
    </tr>
    <tr>
        <td class='row-id'>3</td>
        <td>Row 3</td>
        <td><button>Delete</button></td>
    </tr>
    <tr>
        <td class='row-id'>4</td>
        <td>Row 4</td>
        <td><button>Delete</button></td>
    </tr>
</table>

关于javascript - 删除后在 JavaScript 中重新编号附加表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30281053/

相关文章:

javascript - Vue.js 父 <-> 子更新值,路由 View

javascript - 如何打印当前文件以外的另一个文件?

javascript - 检测shift键输入事件

jQuery:带有选择器的更优雅的 if/else

javascript - 单击列表元素以获取警报

javascript - 错误 : `fsevents` unavailable (this watcher can only be used on Darwin)

javascript - 如何获取动态生成的文本框的ID?

javascript - 依赖注入(inject)工厂模块另一个

jquery - 在页面加载时滚动到 Div 的底部(jQuery)

jquery - 为什么 jQuery.inArray 找不到值?