Объедините несколько <td>в 1 с помощью jQuery - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть широкая таблица данных с 5 столбцами, когда пользователь нажимает на ссылку «печать», таблица должна объединять содержимое с 3-го и 4-го числа в 1, чтобы сэкономить место.Пожалуйста помоги.

Ответы [ 4 ]

6 голосов
/ 18 февраля 2012
$("tr td:nth-child(3)").each(function()
{
    var t = $(this);
    var n = t.next();
    t.html(t.html() + n.html());
    n.remove();
});
4 голосов
/ 18 февраля 2012

Быстро и просто, как это ...

​$('table tr > :nth-child(3)').append(function() {
    return $(this).next().remove().contents();
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

ДЕМО: http://jsfiddle.net/3eDLS/

0 голосов
/ 18 февраля 2012

Это было сложно.Лучшее, что я мог сделать: http://jsfiddle.net/mnbayazit/HbPrw/

$('button').click(function() {
    $('tbody tr').each(function() {
        $('td:eq(1)', this).after('<td>' + $('td:eq(2)', this).html() + $('td:eq(3)', this).html() + '</td>');
        $('td:eq(3),td:eq(4)', this).remove();
    });
});

(Э-э ... Я сознательно оставил thead как есть, но теперь мне приходит в голову, что это может быть нежелательным в конце концов)

0 голосов
/ 18 февраля 2012

Как насчет этого:

$('table').find('th, td').filter(':nth-child(3)').append(function() {
    return $(this).next().html();
}).next().remove();​

Демо http://jsfiddle.net/TsA8G/1/

...