获取所选下拉列表项的值

时间:2013-03-09 20:05:14

标签: javascript onchange html-select

晚上好,我在JSP中有这些动态生成的下拉列表:`

    <td><select name="model" id="model"  onchange="convertDropDownToTextBox()">

                            <c:forEach items="${model_list}" var="item">

                                <option value="${item.modelId}">${item.modelName}</option>
                            </c:forEach>
                                                            <option value="100">Add New Model</option>

            </select></td>

我尝试使用这些脚本从这些下拉列表中获取所选值:

function convertDropDownToTextBox(){
    var select = document.getElementById("model");
    var selectedString = select.options[select.selectedIndex].value;
    alert(selectedString);
}

这里的问题是它总是为下拉列表中选择的每个项目提供1但是我将onChange更改为onchange="alert(this.value)"它会打印正确的值!!那怎么样?以及如何获取DropDown中选择的每个项目的实际索引

2 个答案:

答案 0 :(得分:3)

不完全确定问题是什么,但这对我有用:

var select = document.getElementById("model");
select.onchange = function(){
    var selectedString = select.options[select.selectedIndex].value;
    alert(selectedString);
}

演示:http://jsfiddle.net/louisbros/PS4zy/1/

答案 1 :(得分:0)

只需将event对象传递给Endpoint函数:

<select onchange="convertDropDownToTextBox(event)">
    <option value="1">Option 1</option>
</select>

然后您可以从函数内访问值event.target.value

function timeFrameChanged(e) {
    console.log(e.target.value);
}