Le code suivant est juste une vérification; il ne change pas dynamiquement le contenu pour l'adapter au changement de l'utilisateur.
En utilisant le code html que vous avez fourni, la fonction est la suivante:
function check(){
var currentState=[],
isGood=true,
text;
$("#dataFieldTable tr").each(function(index,element){
if(index !==0){
text=$(":selected",element).text();
if(currentState.indexOf(text)!=-1){
isGood=false;
return false;
}
currentState.push(text);
}
});
alert(isGood);
return isGood;
}
Ce qu'il fait est le suivant:
- Sélectionner toutes les
<tr>
balises dans le tableau
- itérer sur la tr nous voulons vérifier (dans mon exemple, je les ai pris tous sauf le titre, mais c'est quelque chose de facile à changer, c'est juste le
if(index !==0)
)
- saisir tous les éléments sélectionnés dans la ligne
- concaténer leur valeur texte
- vérifier si elle est différente de la précédente
- si elle est différente, vérifiez la suivante ...
- si ce n'est pas, il est fini .
- renvoyer true ou false (et l'alerter) en fonction du résultat.
Et c'est tout.
Vous pouvez le voir en action ici: http://jsfiddle.net/uQGGW/1/
Si vous cliquez sur la ligne de contrôle, il alertera vrai si toutes les lignes sont différentes et faux ailleurs.
Espérons que ça aide.
Un peu de code aiderait. –
@ Py, actuellement je n'ai pas de code. Je regardais la méthode: contains de jquery. Mais pas en mesure de l'implémenter – user941974
Vous cherchez quelque chose comme [this] (http://datatables.net/release-datatables/examples/api/multi_filter_select.html) ?? –