Bonjours a tous,
j'ai un search form, qui fait appel a un fichier json, et recherche dans la valeur "name" un résultat.
Je voudrais avoir la possibilité de rechercher parmi plusieurs valeurs, c'est a dire, "name" et "country" (par exemple).
Comment définir au moins 2 valeurs a rechercher a partir du code suivant ?
Merci d'avance, amarine.

  $.each(data, function(key, val) {
      if (val.name.search(myExp) !== -1) {
		console.log(val);
		found = 1;
		output += '<div class="col-1-3 result txt-center"><li>';
		output += "<a href=" + val.url + ' target="_blank">';
		output += '<p>' + val.name + '</p>';
		output += '</a></li>';
		output += '</div>';
      } 

Modifié par amarine (28 Oct 2014 - 07:18)
Bonjour,

Je suis pas sure d'avoir bien compris ce que fait ton code parce que j'ai lu en diagonale et que tu ne le commentes pas et ne l'explique pas. Mais je pense que ton filtre est basé sur ton if donc approximativement çà devrait donné un truc du genre :

if(val.name.search(myExp) !== -1 || val.country.search(myExp) !== -1) {


Ainsi ta recherche s'effectue à la fois sur le nom et sur la ville à l'aide de l'opérateur OU.
Merci infiniment !
par contre quand j'essaye de rajouter une 3eme valeur, "continent", la recherche ne trouve rien,

if(val.name.search(myExp) !== -1 || val.country.search(myExp) !== -1 || val.continent.search(myExp) !== -1) {


il y a t-il un probleme avec mon code ?
Pas de problème visible comme çà ; regarde en console si tu n'as pas d'erreur JS ; fais un console.log ou alert sur val et vérifie quelle contient bien une variable "continent" et vérifie qu'il existe bien une valeur qui correspond à la recherche que tu effectues.

Par contre cela fait beaucoup de recherche pour un seul champ ; es tu sur de l'utilité ? Pourquoi ne pas séparer en plusieurs champs de recherche ?
peut tu préciser ce que tu veut dire par "séparer en plusieurs champs de recherche" ?
Le coter js/json est vraiment nouveau pour moi =/
Je suis preneur de tous conseil !
Merci d'avance ! amarine