2015-02-20 5 views
3

Мне нужно объединить ячейки таблицы для конкретного столбца с помощью jQuery.Объединить ячейки таблицы с помощью jQuery

Входной стол:
enter image description here

Таблица результатов:
enter image description here

Как я могу это сделать?

+1

, пожалуйста, покажите свою отметку и какой jquery, который вы используете в настоящее время, как построены таблицы? это статические данные? зачем вам это делать программно? удалите пробел на изображениях – atmd

+0

@atmd _ «зачем вам это делать программно?» _ - Я предполагаю, что OP желает объединить последующие ячейки с одинаковым значением в данном столбце. Это был бы интересный вопрос - конечно, ничего принципиального. –

+0

Таблица, приведенная в качестве примера. Моя фактическая потребность в том, что у меня есть таблица данных jquery, мое требование, рассмотрите 10-й столбец в этой таблице, сравните текст 10-го столбца каждой строки с 10-м столбцом следующей строки, если это соответствует, мы должны слияние 10-й ячейки первой строки и 10-й ячейки второй строки. Это мое требование. – Ramesh

ответ

2

Я думаю, это то, что вы хотите.

$(document).ready(function(){ 
 
     
 
     var el = $("tr td:last-child"); 
 
     for(var i = 0; i < el.length; i++){ 
 
     if (el[i].innerHTML == el[i+1].innerHTML){ 
 
      el[i].setAttribute("rowspan","2"); 
 
      el[i+1].parentElement.removeChild(el[i+1]) 
 
     } 
 
     } 
 
     
 
     
 
    });
td, th, tr, table { 
 
     border: solid 1px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
    <table corder="1" class="reference" style="width:100%"> 
 
    <tbody><tr> 
 
    \t <th>Number</th> 
 
    \t <th>First Name</th> 
 
    \t <th>Last Name</th> \t \t 
 
    \t <th>Points</th> 
 
    </tr> 
 
    <tr> 
 
    \t <td>1</td> 
 
    \t <td>Eve</td> 
 
    \t <td>Jackson</td> \t \t 
 
    \t <td>94</td> 
 
    </tr> 
 
    <tr> 
 
    \t <td>2</td> 
 
    \t <td>John</td> 
 
    \t <td>Doe</td> \t \t 
 
    \t <td>80</td> 
 
    </tr> 
 
    <tr> 
 
    \t <td>3</td> 
 
    \t <td>Adam</td> 
 
    \t <td>Johnson</td> \t \t 
 
    \t <td>80</td> 
 
    </tr> 
 
    <tr> 
 
    \t <td>4</td> 
 
    \t <td>Jill</td> 
 
    \t <td>Smith</td> \t \t 
 
    \t <td>50</td> 
 
    </tr> 
 
    </tbody></table>

+0

Обратите внимание, что внутри цикла for есть только код javascript, не jQuery. –

+1

спасибо Ерко Пальма ... Мне нужно именно это ... – Ramesh

3

LIVE DEMO

Вы можете дать класс в третьем ряду, а затем с помощью ниже JQuery вы можете объединить ячейки.

HTML & JQuery

$('.third-row td:eq(2)').attr('rowspan','2').parent().next().find('td:eq(2)').remove()
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script> 
 

 
<table border="1" width="100%"> 
 
<tr> 
 
\t <td>1</td> 
 
\t <td>1</td> 
 
\t <td>1</td> 
 
\t <td>1</td> 
 
</tr><tr class="third-row"> 
 
\t <td>1</td> 
 
\t <td >2</td> 
 
\t <td>3</td> 
 
\t <td>4</td> 
 
</tr><tr> 
 
\t <td>1</td> 
 
    <td>2</td> 
 
\t 
 
\t <td>5</td> 
 
\t <td>6</td> 
 
</tr></table>

Update:

Без добавления класса грести Вы можете достичь этого eq() функции JQuery в.

Смежные вопросы