使用变量值来获取存储在其他变量中的值

时间:2009-10-31 20:18:15

标签: javascript

我正在尝试简化过去几天创建的一些bookmarklet,让人们更容易使用它们。我的一个bookmarklet更改了表单选择字段中的选定选项。我想把它写成:

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

其中“yourMom”是他们可以在网页上选择的选项之一。但是,在HTML中,'yourMom'具有整数值。我的想法是做类似的事情:

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

这让我需要知道我需要代替(?)selectThis,以便它指向存储在yourMom中的值。

我希望那里的人有道理。

感谢您的帮助。

编辑:

HTML看起来像这样:

<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>

1 个答案:

答案 0 :(得分:0)

您可以迭代select元素中的每个选项,并设置值,如果“name”元素与提供的值匹配,如下所示:

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;
       }
   }
}