Как установить выбранный индекс раскрывающегося списка с помощью JavaScript - PullRequest
2 голосов
/ 13 декабря 2011

Как я могу установить выбранное значение раскрывающегося списка, используя JavaScript?

Это мой HTML:

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

Я использую JavaScript для добавления значений. Может кто-нибудь сказать мне, как вызвать функцию для выбора значения?

Ответы [ 2 ]

8 голосов
/ 13 декабря 2011

Как я могу установить выбранное значение раскрывающегося списка, используя JavaScript?

Итак, вы хотите изменить значение опции, которая выбрана в данный момент. Это правильно?

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

И назовите это так:

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

Демо


Если вы хотели выбрать опцию на основе ее значения, используйте это:

Объявите эту функцию:

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

Теперь вызовите его, чтобы установить опцию по значению, например, так как первый параметр является элементом выбора, а второй - значением:

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

Демо

2 голосов
/ 13 декабря 2011

Как-то так может сработать, я считаю:

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

Нашел здесь . Просто Google для чего-то вроде «установить выбранное значение выпадающего JavaScript», и вы получите множество возможных решений.

...