J-queryを使用して、2つの列の値が繰り返される重複する行を削除するにはどうすればいいですか?私は2列、すなわちCAとSTATUSを持っています。STATUS列の値が「PARTIAL」で、CA列が重複している場合、一意の行が表示されていると見なしたいと考えています。Jquery:列の値に基づいて重複するHTML TABLE行を削除する方法
htmlコード
<html>
<HEAD>
</HEAD>
<BODY class="lytBody">
<FORM name="form0" method="post">
<TABLE class="lytTable" border="0" bordercolor="#efefef">
<TR>
<TD class="lytM">
<tbody>
<tr>
<td class="lytM">
<table border="1">
<tbody>
<tr>
<td width="6%" nowrap="nowrap" class="rsDsc">CA</td>
<td width="6%" nowrap="nowrap" class="rsDsc">LD</td>
<td width="6%" nowrap="nowrap" class="rsDsc">COUNT</td>
<td width="16%" nowrap="nowrap" class="rsDsc">NAME</td>
<td width="15%" nowrap="nowrap" class="rsDsc">DATE1</td>
<td width="10%" nowrap="nowrap" class="rsDsc">STATUS</td>
<td width="24%" nowrap="nowrap" class="rsDsc">DATE2</td>
<td width="29%" nowrap="nowrap" class="rsDsc">DATE3</td>
</tr>
<tr>
<td width="6%" class="rsData1" valign="middle">BDC</td>
<td width="6%" class="rsData1" valign="middle">5861</td>
<td width="6%" class="rsData1" valign="middle"></td>
<td width="16%" class="rsData1" valign="middle">ABC</td>
<td width="15%" class="rsData1">09/12/2011 04:33:20</td>
<td width="10%" class="rsData1">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PENDING" onclick="javascript:getDetail('BDC','5861', 'PENDING')" class="PENDING"></div>
</td>
<td width="24%" class="rsData1"><br>
</td>
<td width="29%" class="rsData1">
09/12/2011 04:33:55
</td>
</tr>
<tr>
<td width="6%" class="rsData2" valign="middle">BDC</td>
<td width="6%" class="rsData2" valign="middle">21990</td>
<td width="6%" class="rsData2" valign="middle">1357</td>
<td width="16%" class="rsData2" valign="middle">DEF</td>
<td width="15%" class="rsData2">06/11/2015 11:37:58</td>
<td width="10%" class="rsData2">
<div align="center"><input type="button" name="loadStatus" style="background-color:yellow;" valign="middle" size="10" value="PARTIAL" onclick="javascript:getDetail('BDC','21990','PARTIAL')" class="PARTIAL"></div>
</td>
<td width="24%" class="rsData2"> <br>
06/11/2015 16:04:28
</td>
<td width="29%" class="rsData2">
06/11/2015 16:04:28
</td>
</tr>
<tr>
<td width="6%" class="rsData1" valign="middle">BDC</td>
<td width="6%" class="rsData1" valign="middle">22366</td>
<td width="6%" class="rsData1" valign="middle"></td>
<td width="16%" class="rsData1" valign="middle">GHI</td>
<td width="15%" class="rsData1">07/29/2015 13:49:25</td>
<td width="10%" class="rsData1">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PENDING" onclick="javascript:getDetail('BDC','22366', 'PENDING')" class="PENDING"></div>
</td>
<td width="24%" class="rsData1"><br>
</td>
<td width="29%" class="rsData1">
07/29/2015 14:28:16
</td>
</tr>
<tr>
<td width="6%" class="rsData2" valign="middle">BDC</td>
<td width="6%" class="rsData2" valign="middle">22367</td>
<td width="6%" class="rsData2" valign="middle">1357</td>
<td width="16%" class="rsData2" valign="middle">JKL</td>
<td width="15%" class="rsData2">07/29/2015 14:35:19</td>
<td width="10%" class="rsData2">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PARTIAL" style="background-color:yellow;" onclick="javascript:getDetail('BDC','22367','PARTIAL')" class="PARTIAL"></div>
</td>
<td width="24%" class="rsData2"> <br>
07/29/2015 15:03:37
</td>
<td width="29%" class="rsData2">
07/29/2015 15:03:37
</td>
</tr>
<tr>
<td width="6%" class="rsData1" valign="middle">BDC</td>
<td width="6%" class="rsData1" valign="middle">22369</td>
<td width="6%" class="rsData1" valign="middle">1357</td>
<td width="16%" class="rsData1" valign="middle">MNO</td>
<td width="15%" class="rsData1">07/29/2015 15:14:52</td>
<td width="10%" class="rsData1">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PARTIAL" style="background-color:yellow;" onclick="javascript:getDetail('BDC','22369','PARTIAL')" class="PARTIAL"></div>
</td>
<td width="24%" class="rsData1">
07/29/2015 15:52:46
</td>
<td width="29%" class="rsData1">
07/29/2015 15:52:46
</td>
</tr>
<tr>
<td width="6%" class="rsData2" valign="middle">BEX</td>
<td width="6%" class="rsData2" valign="middle">9500</td>
<td width="6%" class="rsData2" valign="middle"></td>
<td width="16%" class="rsData2" valign="middle">PQR</td>
<td width="15%" class="rsData2">01/31/2012 00:39:57</td>
<td width="10%" class="rsData2">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PENDING" onclick="javascript:getDetail('BEX','9500', 'PENDING')" class="PENDING"></div>
</td>
<td width="24%" class="rsData2"><br>
</td>
<td width="29%" class="rsData2">
01/31/2012 00:40:58
</td>
</tr>
<tr>
<td width="6%" class="rsData1" valign="middle">BID</td>
<td width="6%" class="rsData1" valign="middle">9918</td>
<td width="6%" class="rsData1" valign="middle"></td>
<td width="16%" class="rsData1" valign="middle">STW</td>
<td width="15%" class="rsData1">02/10/2012 06:09:50</td>
<td width="10%" class="rsData1">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PENDING" onclick="javascript:getDetail('BID','9918', 'PENDING')" class="PENDING"></div>
</td>
<td width="24%" class="rsData1"><br>
</td>
<td width="29%" class="rsData1">
02/10/2012 06:10:14
</td>
</tr>
<tr>
<td width="6%" class="rsData2" valign="middle">BID</td>
<td width="6%" class="rsData2" valign="middle">9919</td>
<td width="6%" class="rsData2" valign="middle"></td>
<td width="16%" class="rsData2" valign="middle">XYZ</td>
<td width="15%" class="rsData2">02/10/2012 06:11:55</td>
<td width="10%" class="rsData2">
<div align="center"><input type="button" name="loadStatus" valign="middle" size="10" value="PENDING" onclick="javascript:getDetail('BID','9919', 'PENDING')" class="PENDING"></div>
</td>
<td width="24%" class="rsData2"><br>
</td>
<td width="29%" class="rsData2">
02/10/2012 06:12:15
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</TD>
</TR>
<tr>
<TD> </TD>
</tr>
<TR>
<TD></TD>
</TR>
</TABLE>
<INPUT TYPE="hidden" name="LOAD_ID" value="" />
<INPUT TYPE="hidden" name="uiStatus" value="" />
</FORM>
</BODY>
</HTML>
私は基本的なjqueryを知っていますが、私は論理を考えてこれを実装することができず、熟練している人は誰でも助けてください。その後、あなたはループを通過することができ、
var tdElements = $(this).find('td').get();
これは外観のために、すべてのtd要素の配列を取得し、TD要素のテキストを抽出:あなたの.eachループ内
$(document).ready(function() {
//i can do for single columns it works, but confused what to i have multiple columns
var seen = {};
$('table tr').each(function() {
var txt = $(this).text();
if (seen[txt])
$(this).remove();
else
seen[txt] = true;
});
});
どのようにあなたはどの行が残る選ぶのだろうか? –
@SamTengWong STATUS列の値がPARTIALでなく、CA列の値が同じ名前でない場合。 CA&STATUS列に基づいて一意の行を配置する必要があるのは、PARTIAL状態の場合のみです。 –
サーバ側の列グループby –