Javascript 找出表中的哪一行';我刚搬家

Javascript 找出表中的哪一行';我刚搬家,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我想创建一个包含可拖放行的表,这可以通过jqueryui实现,但是我想更新每行第一个单元格中的数字,使其始终对应自上而下的数字顺序 例如,表格的开头可能是这样的: <table id="myTableId"> <tbody> <tr class="draggable droppable"><td>1</td><td>abc</td></tr> <tr cl

我想创建一个包含可拖放行的表,这可以通过jqueryui实现,但是我想更新每行第一个单元格中的数字,使其始终对应自上而下的数字顺序

例如,表格的开头可能是这样的:

<table id="myTableId">
    <tbody>
        <tr class="draggable droppable"><td>1</td><td>abc</td></tr>
        <tr class="draggable droppable"><td>2</td><td>def</td></tr>
        <tr class="draggable droppable"><td>3</td><td>ghi</td></tr>
    </tbody>
</table>

1abc
2def
3ghi
在用户拖动关于它的行后,可能会以如下方式结束,例如:

<table id="myTableId">
    <tbody>
        <tr class="draggable droppable"><td>2</td><td>def</td></tr>
        <tr class="draggable droppable"><td>3</td><td>ghi</td></tr>
        <tr class="draggable droppable"><td>1</td><td>abc</td></tr>
    </tbody>
</table>

2def
3ghi
1abc
然后,我想运行一个函数,将第一个单元格中的数字按自上而下的顺序重新排序,这样html就会变成这样:

<table id="myTableId">
    <tbody>
        <tr class="draggable droppable"><td>1</td><td>def</td></tr>
        <tr class="draggable droppable"><td>2</td><td>ghi</td></tr>
        <tr class="draggable droppable"><td>3</td><td>abc</td></tr>
    </tbody>
</table>

1def
2ghi
公元前3年
行已被移动,但顶部的行在第一个单元格中仍然具有值1,第二行仍然具有值2,依此类推

我发现了一个JavaScript函数,该函数计算表中的行数,如何编写JavaScript函数将表中第一个单元格中的数字1、2和3重新排序

<script>
    var rows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
    alert(rows);
</script>

var rows=document.getElementById('myTableId').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
警报(行);
作为参考,这是我用来使行可拖放的jquery:

$(function() {

    $(".draggable").draggable( {
        helper: function() { return "<div class='shadow'></div>"; },
        start: moveShadow,
        revert: true
     });

    function moveShadow(event, ui) {
        var helper = ui.helper;
        var element = $(event.target);
        helper.width(element.width());
        helper.height(element.height());
    }

    $(".droppable").droppable({
        hoverClass: 'ui-state-active',
        drop: function(event, ui) {
            var target = $(event.target);
            var draggable = ui.draggable;
            draggable.insertBefore(target);
          }
    });
});
$(函数(){
$(“.draggable”)。draggable({
助手:函数(){return”“;},
开始:移动阴影,
回复:真
});
函数moveShadow(事件、ui){
var helper=ui.helper;
var元素=$(event.target);
helper.width(element.width());
height(element.height());
}
$(“.droppable”).droppable({
hoverClass:“ui状态处于活动状态”,
drop:函数(事件、用户界面){
var target=$(event.target);
var draggable=ui.draggable;
draggable.insertBefore(目标);
}
});
});

不需要计算任何东西。只需运行一个循环并递增:


您需要将其应用到drop回调中。

成功了,只需每次调用该函数并将myCount传递为1,这样它每次都以1开始。谢谢:)
var myCount = 1;

$('#myTableId tr.droppable').each(function() {
    $(this).find('td').eq(0).text(myCount);
    myCount ++;
});