[Solved] how to join rows in table [closed]


Try the following:

It will search for duplicated words in the first td in each tr. If match then it will move the content to the first tr and then remove the duplicated tr

var arr = [];

$("table tbody tr").each(function() {
  arr.push($(this).find("td:first").text())
})
var sorted_arr = arr.slice().sort();
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
  if (sorted_arr[i + 1] == sorted_arr[i]) {
    results.push(sorted_arr[i]);
  }
}

$.each(results, function(i, x) {
  var tr = $("table tbody tr td:contains(" + x + "):first").parent()
  $(tr).nextAll("tr").find("td:contains(" + x + "):first").each(function(k, l) {
    var s = $(l).parent();
    $(s).children("td").each(function(t, u) {
      if ($(u).text() == "x") {
        var td = $(tr).find("td:eq(" + t + ")")
        td.text(td.text() + $(u).text())
      }
    })
    s.remove();
  })
})

var arr = [];

$("table tbody tr").each(function() {
  arr.push($(this).find("td:first").text())
})
var sorted_arr = arr.slice().sort();
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
  if (sorted_arr[i + 1] == sorted_arr[i]) {
    results.push(sorted_arr[i]);
  }
}

$.each(results, function(i, x) {
  var tr = $("table tbody tr td:contains(" + x + "):first").parent()
  $(tr).nextAll("tr").find("td:contains(" + x + "):first").each(function(k, l) {
    var s = $(l).parent();
    $(s).children("td").each(function(t, u) {
      if ($(u).text() == "x") {
        var td = $(tr).find("td:eq(" + t + ")")
        td.text(td.text() + $(u).text())
      }
    })
    s.remove();
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<table>
  <thead>
    <tr>
      <th>
      </th>
      <th>A
      </th>
      <th>B
      </th>
      <th>C
      </th>
      <th>D
      </th>
      <th>E
      </th>
      <th>F
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>217</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td>x</td>
    </tr>
    <tr>
      <td>221</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td>x</td>
    </tr>
    <tr>
      <td>275</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td>x</td>
      <td></td>
    </tr>
    <tr>
      <td>275</td>
      <td></td>
      <td>x</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    
    <tr>
      <td>275</td>
      <td></td>
      <td></td>
      <td>x</td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>290</td>
      <td>x</td>
      <td></td>
      <td>x</td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

3

solved how to join rows in table [closed]