2009-12-19 4 views
0

J'ai un modèle d'objets dans un menu déroulant:Etat initial Dropdown basé sur GET données

<select id="group_select" name="group_select"> 
    <option value="1">Group One</option> 
    <option value="2">Group Two</option> 
</select> 

Chaque objet correspondant a une page de détail dans lequel je veux avoir un lien qui envoie à l'utilisateur à la page avec le menu déroulant avec l'objet dont ils ont été référencés déjà sélectionné dans le menu. Je pensais que cela pourrait être fait avec une chaîne de requête, mais je semble être trompé. (Par exemple /rank/objects/?group_select=1.

Quelle serait la bonne façon de le faire? Réponses avec jQuery sont les bienvenus aussi bien, puisque je suis déjà à l'aide que sur cette page.

Merci!

Répondre

2

oui, il pourrait .

d'abord, nous devons créer une fonction pour analyser la chaîne de requête.

function queryString(key) { 

    var longurl = window.location.search.substring(1); 
    var splitted = longurl.split("&"); 


    for (i=0;i< splitted.length; i++) { 
    var pair = splitted[i].split("="); 

    var theKey = pair[0]; 
    var theValue = pair[1]; 

    if (theKey == key) { 
     return theValue; 
    } 
    } 

    // default is empty 
    return ""; 

} 

et le script jquery ici pour sélectionner t il le menu

$(function(){ 

    if(queryString("group_select") != ""){ 
    $("#group_select").val(queryString("group_select")); 
    } 

}); 
1

Si je comprends bien, si un utilisateur visite que vous souhaitez /rank/objects/?group_select=1 l'option « Group One » à sélectionner par défaut?

La plupart des personnes résolvent cela en utilisant un script côté serveur. Mais si vous voulez, c'est aussi faisable en Javascript.

Je commencerais par extraire le "nombre" de location.search, puis utiliser $("#group_select").val(number) de jQuery.