J'essaie de cacher des éléments dans un tableau en ayantune fonction jQuery parcourt chaque ligne, vérifiant la classe de la ligne et la cachant en conséquence. Le problème que je semble avoir rencontré est que la fonction vérifiera la classe de la première ligne et basera toutes les autres vérifications sur lesquelles se cacher. vérifier était vrai ou faux. Ci-dessous la fonction et la portion du formulaire
La forme
<select id="select" onchange="eligibility_changed(this);" class="fieldsel">
<option value="Select One:">Select One:</option>
<option value=".ineligible">Ineligible</option>
<option value=".eligible">Eligible</option>
<option value=".confirmed">Eligible</option>
</select>
Et la fonction
function eligibility_changed($this) {
jQuery(".fieldsel").each(function() {
var col = this.id;
var val = this.value;
console.log(val);
if (val != "Select One:") {
jQuery("#tbl>tbody>tr").each(function() {
//Ran to check the row"s class.
console.log(jQuery("#eligfld").attr("class"));
if (!jQuery( "#eligfld" ).is(val)) {
jQuery(this).hide();
}
});
}
});
};
Réponses:
1 pour la réponse № 1En supposant que les lignes aient la classe que vous affichez dans les options, vous n’avez pas besoin de boucler toutes les lignes pour masquer cette classe
if (val != "Select One:") {
// show all, filter for class and hide that class
jQuery("#tbl>tbody>tr").show().filter(val).hide();
}
Ceci est indépendant de l’ID, donc la répétition des ID ne devrait pas être un problème à moins que vous ayez plusieurs tables avec le même ID.