我需要对从数据库返回的这些行进行分组。不幸的是,他们在数据库中为每个联系信息创建了一个新的完整记录。
查看:
Name TZ Office Cell Home Email
Andres 2442 3667 - - - -
Andres - 999-99-99 - - -
Andres - - 999-99-99 - -
Andres - - - 999-99-99 -
Andres - - - - gchaves@itconvergence.com
HTML 代码
<table id="gptable">
<thead>
<td>Name</td>
<td>TZ</td>
<td>Office</td>
<td>Cell</td>
<td>Home</td>
<td>Email</td>
</thead>
<tbody>
<tr>
<td>Andres</td>
<td>2442 3667</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>Andres</td>
<td>-</td>
<td>999-99-99</td>
<td>-</td>
<td >-</td>
<td >-</td>
</tr>
<tr>
<td>Andres</td>
<td>-</td>
<td>-</td>
<td>999-99-99</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>Andres</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>999-99-99</td>
<td>-</td>
</tr>
<tr>
<td>Andres</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>gchaves@itconvergence.com</td>
</tr>
</tbody>
那么如何将所有这些行集中到一个中呢? Fiddle.
最佳答案
将数据库中的每个字段作为单独的记录存储是非常糟糕的做法。但如果你不能改变它,类似这样的东西应该在 jQuery 中工作:
$(document).ready(function() {
var str = first = "";
$("#gptable tbody").each(function(l, tbody) {
$(this).find("tr").each(function(i, tr) {
$(tr).find("td").each(function(j, td) {
if($(this).html() != "-" && j != 0) {
str += "<td>" + $(this).html() + "</td>";
} else if(first == "") {
first = "<td>" + $(this).html() + "</td>";
}
});
});
$('#gptable tbody').empty();
$('#gptable tbody').after("<tr>" + first + str + "</tr>");
});
});
这是你的 fiddle :http://jsfiddle.net/65wYn/2/
关于javascript - JS - 帮助 - 行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027913/