J'ai actuellement un tableau avec trois listes déroulantes au-dessus. Lorsque l'utilisateur sélectionne une valeur dans chaque liste déroulante pour filtrer les résultats, je souhaite que la table masque les lignes qui ne correspondent pas à TOUS les critères sélectionnés jusqu'à présent. Le plus proche que je l'ai obtenu est la suivante:Filtre de table JQuery sur plusieurs critères
$("#ReportControls #InventoryReports select").change(function(){
$("#Report table tbody tr").hide();
var filterArray = new Array();
filterArray[0] = $("#ddlStyle :selected").text()
filterArray[1] = $("#ddlSize :selected").text()
filterArray[2] = $("#ddlColor :selected").text()
$.each(filterArray, function(i){
if (filterArray[i].toString() != "Style" && filterArray[i].toString() != "Size" && filterArray[i].toString() != "Color")
{
$("#Report table tbody tr").find("td:contains('" + filterArray[i].toString() + "')").parents("tr").show();
}
});
});
Le seul problème avec elle est qu'elle retire toutes les lignes qui contiennent une certaine taille ou une certaine couleur ou d'un certain style au lieu de simplement les lignes qui sont d'une certaine taille et une certaine couleur ET un certain style.
Salut Jeff, merci pour votre réponse. J'ai essayé quelque chose comme ça mais le problème que j'avais était que si l'utilisateur choisissait juste une ou deux des options, il ne filtrerait pas. Des idées pour gérer ce cas? Merci! – Jon
Vous devrez peut-être retourner chez le parent, puis refaire la recherche ... –
Oh ok, je pensais que vous essayez en fait de filtrer les cas où ils n'en ont pris qu'un ou deux. –