2

こんばんは、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)"、正しい値が出力されます。どうして?ドロップダウンで選択されたすべてのアイテムの実際のインデックスを取得する方法

4

2 に答える 2

4

問題が何であるか正確にはわかりませんが、これは私にとってはうまくいきます:

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

デモ: http: //jsfiddle.net/louisbros/PS4zy/1/

于 2013-03-09T20:22:15.117 に答える