データ属性の jquery フィルターの使用法を調べていました。この場合は、3 つのデータ変数 (チーム、専門分野、レベル) を含むテーブルです。最善のアプローチと、一般的な使用方法を教えてください。ここに私のコードhtmlがあります:
<table data-team="<?php print $name['team']; ?>" data-specialization="<?php print $name['speciality']; ?>" data-level="<?php print $name['level']; ?>" cellpadding="0" cellspacing="0" border="0" width="670px" class="jobs"><tr><td>
<tr><td colspan="4"><strong><?php print $name['title'] ?></strong></td>
<td></td><td></td><td></td></tr>
<tr>
<td width="100">Location : </td>
<td colspan="3"><?php print ($name['location']);?> </td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td> Job Code : </td>
<td width="460"><?php print $name['id'] ?></td>
<td></td>
<td></td>
<td><a data-action="showDesc,jumpTo" href="javascript:;" id="<?php print($name['id']);?>" class="more">More Details </a></td>
</tr></td></tr>
</table>
別のスタック オーバーフローの質問から取得した JavaScript は、一致する 1 つの属性に基づいて表示されます。コードは次のとおりです。
$("#search").click(function() {
var team=$('#selectOne').val();
var specialty=$('#selectTwo').val();
var level=$('#selectThree').val();
var teams=[];//
var special=[];
var level=[];
//teams=$('.jobs').data('team');
//alert(teams);
$(".jobs").hide();
$('.jobs').filter(function(){
return $(this).data('team') === team;
}).show();
});
});
すべてのデータチーム属性を配列に入れ、それを反復処理してから、各テーブルにそれが含まれているかどうかを確認したいのですが、その場合は次の配列にチェックしてください。データ値が一致する場合は、表示します。