Jquery plusieurs case filtrage

J'ai trois ensembles de cases à cocher qui me permettent de filtrer un certain nombre de vrd basé sur les attributs de données. Cela fonctionne très bien, mais pas comme j'en ai besoin.

Si vous visitez la jsfiddle ci-dessous, vous verrez une épreuve de travail.

Ce que je dois faire c'est:

  1. Lorsque plus d'une option est choisie, dans la même catégorie, par exemple les "petites" et "moyennes", il convient d'accroître les résultats c'est à dire afficher tous les "petits" et "moyen" des résultats, (qui est ce qu'il fait en ce moment).

  2. Lorsque plus d'une option est choisie, dans différentes catégories, par exemple, "moyen" et "amérique du nord", il devrait réduire les résultats c'est à dire afficher tout "moyen" des fleurs dans "amérique du nord"

Comment pourrais-je aller sur la fixation/modifiant mon code pour faire ce travail s'il vous plaît? (J'espère que cela a un sens).

Ci-dessous est le jquery que j'utilise:

            $('.flowers-wrap, .continents-wrap').delegate('input[type=checkbox]', 'change', function() {
                var $lis = $('.flowers > div'),
                    $checked = $('input:checked');  
                if ($checked.length) {                          
                    var selector = '';
                    $($checked).each(function(index, element){
                        if(selector === '') {
                            selector += "[data-category~='" + element.id + "']";                  
                        } else {
                            selector += ",[data-category~='" + element.id + "']";
                        }
                    });                        
                    $lis.hide(); 
                    console.log(selector);
                    $('.flowers > div').filter(selector).show();               
                } else {
                    $lis.show();
                }
            });

Veuillez voir le jsfiddle que j'ai mis pour illustrer le problème, je vais avoir - http://jsfiddle.net/n3EmN/

  • Essayez de définir la namę propriété des cases à cocher, et quand le changement se produit une boucle par groupe de cases à cocher par leur name de la propriété.
  • Merci; est-ce qui me donne le résultat que je suis après?
  • Voici un JSFIDDLE, j'espère que ça aide.
  • Génial! Merci beaucoup 🙂
InformationsquelleAutor ss888 | 2014-04-01