0

这是我的jspPage。

<select id="class_Teacher" name="classTeacher" style="height:25px; width: 190px;" onchange="Class(this.id)">
<option id="1">Manager</option>    
<option id="2">Supervisor</option>
</select>

这是javascript

 function Class(str)
{
    alert(str);
}

我想在 onchange 事件中获取 Option 的 id。谢谢 :)

4

4 回答 4

4

如果您尝试获取已选择的选项的 ID,则可以执行此操作

function Class(str)
{
    var select = document.getElementById("class_Teacher");
    var option = select.options[select.selectedIndex];
    alert(option.id);
}
于 2013-07-23T07:53:37.883 回答
1

您的 onchange 事件将如下所示。只需删除,.id因为这将返回选择框本身的 id 而不是选项

onchange="myFunction(this)"

和你的javascript函数像这样,它会提醒所选选项的ID

function myFunction(ele){
   alert(ele.options[ele.selectedIndex].id);
}

分解ele表示选择框(一个 dom 对象)。.options访问选择框中的选项。[]括号是访问特定选项的一种方式。像一个数组myArr[1]等,并ele.selectedIndex返回一个代表所选选项的数字,即如果选择了第一个选项 -ele.selectedIndex将等效于0.

于 2013-07-23T07:53:24.773 回答
1

HTML(你应该使用“value”属性而不是“id”)

<select id="class_Teacher" name="classTeacher" style="height:25px; width: 190px;" onchange="onChange()">
<option id="1" value="ID1">Manager</option>    
<option id="2" value="ID2">Supervisor</option>
</select>

JS

var selectElement = document.getElementById("class_Teacher");
selectElement.onchange=function(){
    alert(selectElement.options[selectElement.selectedIndex].id); // id in the html element
    alert(selectElement.selectedIndex);                           // index starting from 0
    alert(selectElement.value);                                   // value of the selected element
};

小提琴

于 2013-07-23T07:59:18.763 回答
0

使用selsectedIndex属性GetElementByID

<script>
    function val() {
        d = document.getElementById("select_id").selectedIndex;
    
        alert(d);
    }
    </script>
 <select onchange="val()" id="select_id">
于 2021-08-08T21:24:18.187 回答