2009-10-31 6 views
0

J'essaie de simplifier certains des bookmarklets que j'ai créés ces derniers jours et de les rendre plus faciles à utiliser pour les utilisateurs. L'un de mes bookmarklets modifie l'option sélectionnée dans un champ de sélection de formulaire. Je voudrais pouvoir l'écrire comme:Utiliser la valeur de variable pour obtenir la valeur stockée dans une autre variable

javascript: (function() {setSelect ('yourMom'); ... boringStuffThatTheyMessUp ...})(); function setSelect (selectThis) {moreBoringStuff}

où "yourMom" est l'une des options de sélection disponibles dans la page Web. Dans le HTML, cependant, «yourMom» a une valeur entière. Ma pensée était de faire quelque chose comme:

fonction setSelect (selectThis) {yourMom = 1; yourSister = 2; yourGirlFriend = 3; ... choses ... {if (thisSelect.options [i] .value == (?) selectThis) {... moreStuff ...}}}

Ce qui me laisse besoin de savoir ce dont j'ai besoin mettre à la place du (?) selectThis afin qu'il pointe vers la valeur stockée dans yourMom.

J'espère que cela a du sens pour quelqu'un là-bas.

Merci pour l'aide.

modifier:

le HTML ressemble à ceci:

<select name="whoDoILikeMost" tabindex="2" class="dropdown"> 
     <option value="1" selected="selected">yourMom</option> 
     <option value="2">yourSister</option> 
     <option value="3">yourGirlFriend</option> 
    </select> 

Répondre

0

Vous pouvez itérer sur chacune des options dans l'élément de sélection et définir la valeur si l'élément « name » correspond à la valeur fournie , comme ceci:

function setSelect(name) { 
    var selectEl = document.getElementById("selectElementName"); 
    for (var i = 0; i < selectEl.options.length; i++) { 
     if (selectEl.options[i].name == name) { 
      selectEl.selectedIndex = i; 
      break; 
     } 
    } 
} 
+0

Je doute sérieusement que l'émetteur de questions utilise un moteur ECMAScript 6. __'int'__ est un mot réservé. –

+0

Ah, haha, je n'avais pas pensé à utiliser autre chose que l'attribut value. Merci pour l'aide – baiano

+0

Cela dit, je voudrais toujours savoir comment utiliser la var varA = 'varB'; varB = 1 de sorte que varA puisse pointer sur la valeur 1, ou maintenir cette valeur, ou peu importe son appel. – baiano

Questions connexes