J’ai un ensemble de filtres de recherche qui définissent une chaîne d’URL (pour un traitement ultérieur). Lorsque la page se recharge pour afficher les résultats, les options sélectionnées par l’utilisateur sont perdues. Je me demandais s’il était possible d’utiliser jQuery pour capturer les parameters de l’URL et «se rappeler» quelles options avaient été sélectionnées?
Par exemple, si mon URL contient www.something.com/index.html?&colour=red&circle=1&star=0, mon formulaire se chargera avec les éléments suivants:
Colour
Blue:
Red:
- jQuery / Javascript vérifie si la souris est dans ou hors fenêtre
- Peut sortinger les divs seulement s’ils n’ont pas beaucoup de tags dans leur corps
- Ajouter de la valeur au tableau enfant JSON de manière dynamic?
- Comment utiliser les événements delegates?
- jQuery change la valeur après l’animation
[selected] Green:
Shape
Circle:
[selected] Square:
Star:
Merci d’avoir regardé.
Vous pouvez utiliser l’object JS suivant
location.search
Cela vous donnera les parameters de chaîne de requête de votre barre d’adresse.
Cette information est conservée sur l’object location Location en javascript d’où vous devrez extraire les parameters.
Vous pouvez obtenir le paramètre url en utilisant cette fonction (regardez ici Ajouter urlVariable au lien de la page suivante ):
function getParameterByName( name ) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if( results == null ) return ""; else return decodeURIComponent(results[1].replace(/\+/g, " ")); } var colour= getParameterByName('colour'); var circle= getParameterByName('circle'); var star= getParameterByName('star');
Lorsque vous avez les parameters, il est facile de les sélectionner:
$('input[name=colour][value='+colour+']').attr('checked', 'checked');
À moins d’une raison particulière, vous devez le faire côté client:
Cela se fait généralement côté serveur . Vous pouvez vérifier les parameters côté serveur (ce que vous ferez probablement de toute façon) et renvoyer le balisage HTML avec les cases à cocher présélectionnées au client.
Sur le plan positif, cela fonctionnera également avec les navigateurs désactivés javascript ainsi que les moteurs de recherche.