如何使用javascript设置下拉列表的选定索引

时间:2011-12-13 09:37:46

标签: javascript asp-classic vbscript

如何使用javascript设置下拉列表的选定值?

这是我的HTML:

<select id="strPlan" name="strPlan" class="formInput">
    <option value="0">Select a Plan</option>
</select>

我正在使用javascript来添加值。谁能告诉我如何调用函数来选择一个值?

2 个答案:

答案 0 :(得分:8)

  

如何使用javascript设置下拉列表的选定值?

因此,您想要更改当前所选选项的值。这是对的吗?

function setValueOfSelected(select, valueToSetTo){
    select.options[select.selectedIndex].value = valueToSetTo;
}

并称之为:

setValueOfSelected(document.getElementById('strPlan'), 'selected');

Demo


如果您想根据其值选择一个选项,请使用以下选项:

声明此功能:

function setOptionByValue(select, value){
    var options = select.options;
    for(var i = 0, len = options.length; i < len; i++){
        if(options[i].value === value){
            select.selectedIndex = i;
            return true; //Return so it breaks the loop and also lets you know if the function found an option by that value
        }
    }
    return false; //Just to let you know it didn't find any option with that value.
}

现在调用它来按值设置选项,如下所示,第一个参数是select元素,第二个参数是值:

setOptionByValue(document.getElementById('strPlan'), '1');

Demo

答案 1 :(得分:2)

这样的事情可行,我相信:

function setDropDownList(elementRef, valueToSetTo)
{
    var isFound = false;

    for (var i = 0; i < elementRef.options.length; i++) {
        if (elementRef.options[i].value == valueToSetTo) {
            elementRef.options[i].selected = true;
            isFound = true;
        }
    }

    if ( isFound == false )
        elementRef.options[0].selected = true;
}

找到它here。只需谷歌“设置选定价值下拉javascript”,你就会得到许多可能的解决方案。