如何从<select> </select>中选择特定的文本值

时间:2013-04-20 02:41:47

标签: javascript html

我想从HTML和javascript中选择选项文本(不是选项值)获取值?

一旦我能够获得该值,我想获得特定字符串,如下所示。

值为2.500,文本选项值为250奖励。我想获得250并分配自己的输入隐藏值。

由于

2 个答案:

答案 0 :(得分:2)

好的,根据你提供的内容,我猜你需要获得选项的文字。

function getSelectedText(elementId) {
    var elt = document.getElementById(elementId);

    if (elt.selectedIndex == -1)
        return null;

    return elt.options[elt.selectedIndex].text;
}

使用这种方式:

var text = getSelectedText('selectID');

或者如Derek建议的那样,您也可以将它放在一行中:

var text = elementId.querySelector("option:checked").innerText

注意:这仅适用于现代浏览器。

答案 1 :(得分:0)

<form action="#">
<input type="hidden" name="bonus_hidden" value="" />
<select name="b" onchange="document.forms[0].elements['bonus_hidden'].value=document.forms[0].elements['b'].options[document.forms[0].elements['b'].selectedIndex].text">
<option value="1.000">100 bonus</option>
<option value="1.500">150 bonus</option>
<option value="2.000">200 bonus</option>
<option value="2.500">250 bonus</option>
</select>
</form>