2014-05-15 3 views
1

Je dispose de JQuery qui filtre une table lorsque la liste de sélection est modifiée à l'aide de :contains mais comme deux des options sont similaires, elle ne filtre pas correctement. Voici un JSFiddle fonctionnel. J'ai essayé d'implémenter un .filter mais je fais évidemment quelque chose de mal. Voici le JSFiddleProblème lors de l'implémentation du filtre JQuery

actuel .filter

$(this).filter(function(){ 
    return $(this).text===selectValue; 
}).addClass('hidden'); 

Répondre

2

text est une méthode non une propriété, vous comparez le corps de la fonction text avec la valeur sélectionnée. Selon votre balisage je suggère:

$("#filterItems .hideThis").addClass('hidden').filter(function() { 
    return $('td:eq(3)', this).text() === selectValue; 
}).removeClass('hidden'); 

Notez que vous pouvez également utiliser show et hide méthodes du jQuery au lieu de l'ajout/suppression des classes.

http://jsfiddle.net/24eTW/

+0

Merci qui est assez grand! – joetinger

1

utilisation $(this).text() pour obtenir la valeur, juste en utilisant le gestionnaire sans paranthèses renverra la fonction plutôt que de l'exécuter

Questions connexes