Как я могу использовать jQuery для перемещения элементов строки таблицы каким-либо образом? - PullRequest
0 голосов
/ 14 января 2010

У меня есть такая таблица:

<table>
  <tr>  
    <td>something</td>
  </tr>
  <tr>
    <td>something else</td>
  </tr>
</table>

теперь на основе идентификатора, который находится в тд, я хочу переместить tr так, чтобы они находились в позиции, удерживаемой идентификатором. есть идеи как это сделать?

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Вы можете выбрать tr, используя функцию parent (). Например,

$("#td-id").parent().appendTo("table");

переместит tr, содержащий td с идентификатором "td-id", в конец таблицы.

1 голос
/ 14 января 2010

Не подходит для заказа больших таблиц, но это сработало для меня, когда я писал это некоторое время назад. Вы будете заказывать что-то другое (идентификатор строки), поэтому вам придется изменить его в соответствии с вашими потребностями.

первый аргумент - это таблица, которую вы хотите отсортировать, второй - столбец, по которому вы хотите отсортировать.

вы бы поменяли весь материал cIndex на использование вашего rowid.

function SortTable(stable, cIndex)
{
    var rows = $(stable).find("tr");
    var count = $(rows).size();

    for (var i = 0; i < count - 1; i++)
    {
        var r1 = $(rows[i]);
        var r2 = $(rows[i + 1]);

        var td1 = $(r1).find("td")[cIndex];
        var td2 = $(r2).find("td")[cIndex];

        var d1 = parseInt($(td1).html());
        var d2 = parseInt($(td2).html());

        if (d1 < d2)
        {
            var t = rows[i];
            rows[i] = rows[i + 1]
            rows[i + 1] = t;
            i = -1;
        }
    }

    var tbody = $(stable);
    tbody.empty();
    for (var i = 0; i < count; i++)
    {
        $(tbody).append(rows[i]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...