Boucles imbriquées

Fermé
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
-
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
-
Bonjour,
je souhaite faire un formulaire de recherche en javascript, j'arrive à faire la sélection lorsque la recherche porte sur un choix unique mais si l'utilisateur peut choisir plusieurs possibilités sur un critère mon code ne fonctionne pas

voici mon code
for (var i = 0;i < poiJson.length; i++) {

//critère 1 - plusieurs choix possible
for (var l = 0; l < document.controls_arrdt.ville.length; l++) {
if (document.controls_arrdt.ville[l].checked) { var city = document.controls_arrdt.ville[l].value; }

//critère 2 je sélectionne tous les résulats dont la valeur est supérieure à la séletion
for (var j = 0; j < document.controls.type.length; j++) {
if (document.controls.type[j].checked) {
var type = document.controls.type[j].value;
}
}
if (type2 > type) {
type = type2;
for (var g = 0; g < document.controls.type.length; g++) {
if (document.controls.type[g].value == type2 ) {
document.controls.type[g].checked = true;
} else {document.controls.type[g].checked = false;}
}
}
//critère 3
if (document.controls.nouveaute.checked || nouveau == 1 ) {var nouveaute = 1;} else {var nouveaute = 0;}

// critère 4
if (document.controls.promo.checked || promo0 == 1) {var promo2 = 1;} else {var promo2 = 0;}
if (promo3 >= promo2 && news >= nouveaute && capac >= type && codeP == city ) {

//affichage des résultats

//fin if conditions multiples
}
//fin for ville
}
//fin for poijson
}


Dans l'affichage des résultats, les éléments affichés sont les bons mais ils sont répétés 16 fois sachant que le permier critère à 16 instances ...

Merci d'avance pour votre aide


2 réponses

Sans HTML, ce n'est pas pratique d'étudier.

Peut-être que ceci pourrait fonctionner :
A la place de :
if (document.controls_arrdt.ville[l].checked) {
	var city = document.controls_arrdt.ville[l].value;
}

Mettre :
var city;
if (document.controls_arrdt.ville[l].checked) {
	city = document.controls_arrdt.ville[l].value;
}else{
	city = null;
}
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
5
Merci la solution fonctionne !