11487 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je ne suis pas programmeur ni développeur.
En conséquence, je n'ai pas les termes adéquates, ce qui m'empêche de faire de bonnes recherches sur le web.

J'utilise boostrap table sur mon site, sauf qu'à la place d'un tableau ce sont des div, (sans base de données). La page d'accueil de mon site ressemble un peu à celle d'Alsacreations.

Sur cette page d'accueil, on peut effectuer des recherches dont les résultats (div) proviennent de cette même page https://www.yaaka.com/

Pour l'instant, on ne peut rechercher que des termes exacts contenus dans les div. (sauf pour les majuscules ou minuscules qui ne changent rien). Mais l'ordre des mots et les lettres à accent, à cédille ou trema doivent être respectées...à la lettre ! Smiley cligne

Du coup, lorsque mon amie a effectué une recherche sur la ville Bécon les granits, elle n'a pas tapé Bécon mais Becon. Ne voyant rien s'afficher, elle m'avertit et je lui explique qu'il faut qu'elle respecte l'orthographe exact des mots. Cela ne lui a pas plu. J'imagine que d'autres ne vont pas aimer faire l'effort de respecter l'orthographe exact d'un mot-clé.

J'ai donc deux questions :

1- Est-il possible que la recherche "cafe" affiche les div qui contiennent le mot café ?
Autrement dit, est-il possible qu'une recherche d'un mot contenant des caractères non spéciaux (accents, cédilles, tréma..) affiche les div contenant le même mot mais avec les caractères spéciaux ?

2- Est-il possible qu'une recherche avec deux mots clés (exemple de recherche : plombier nantes) ne soit pas conditionnée à l'ordre de ces deux mots contenu dans une div (exemple de div : plombiers à nantes) ?
Autrement dit, si les deux mots utilisés pour rechercher sont contenus dans une div, quel que soit leur ordre, la div peut-elle s'afficher ?

Je vous remercie pour votre attention et le temps que vous avez accordé à me lire et à me répondre le cas échéant.

Sylvain

Voici le script qui exécute la recherche sur mon site


$(document).ready(function(){
  $("#myInput").on("keyup", function() {
    var value = $(this).val().toLowerCase();
    $("#myDIV div").filter(function() {
      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
    });
  });
});

Modifié par Gute (30 Mar 2018 - 01:06)