如何对数组中的元素进行排序:jQuery

时间:2015-07-14 13:59:26

标签: javascript jquery arrays jquery-ui

摘要:我有一个表格,其中为每个btn点击添加了行。我正在使用jquery-ui sortable()函数来移动/排序行。

我想说:

<tbody>
  <tr><td>A</td></tr>
  <tr><td>B</td></tr>
  <tr><td>C</td></tr>
  <tr><td>D</td></tr>
  <tr><td>E</td></tr>
  <tr><td>F</td></tr>
</tbody>

问题:我可以使用sortable()函数移动行。但我无法更新行中的元素。 我正在使用这个

$('.report-configuration .configuration-table tbody').sortable({
'change': function(event, ui){
    arr=['a','b','c','d','e','f'];
    console.log(ui);
    var tmp = arr.splice(ui.originalPostion);//i am missing logic here
    arr.splice(ui.postion, tmp);
    console.log(arr);

}});

我正在寻找更新阵列中位置的逻辑。

1 个答案:

答案 0 :(得分:5)

在sortable结束后,html也发生了变化。使用jQuery,您可以选择更改的html并确定正确的序列。

在您的更改回调函数中执行类似这样的操作,注意arr具有正确序列的新数组:

var arr = []
$(this).find('td').each(function() {
  arr.push($(this).html());
});
console.log(arr);