如何使用JavaScript获得选项ID?
问题描述:
我有一个asp:listbox,我从数据库中填充。但是,当我用鼠标将鼠标悬停在选项上时,我试图检索选项ID。我通常会做的是附加一个鼠标悬停事件,但显然在IE选项中不会识别鼠标悬停事件!那么有没有一种方法可以得到我目前的选择?如何使用JavaScript获得选项ID?
<select size="4" name="lstbox_AdvCat" id="lstbox_AdvCat" style="height:500px; width:285px;">
<option value="0" Title="">None</option>
<option value="1" Title="Accessories
Clothing
Footwear
Jewelry
Watches">Apparel, Footwear, Accessories</option>
我真正需要做的是找回东西,所以我可以说元素“过个IM”这样我就可以显示在面板上的一些其他信息。
是否有明智的方法来做到这一点?
我的列表框包裹在一个div并附加一个事件
function lstbox_AdvCatOver(mEvent) {
//internet explorer
if (mEvent.srcElement) {
alert(mEvent.srcElement.nodeName);
}
//the others
else if (mEvent.target) {
alert(mEvent.target.nodeName);
}
}
我很感兴趣,看看有什么我会得到,但我不知道如何扩展,以使其有用的 - 任何帮助。
谢谢。
答
就使用本机JS它可能是这个样子:
HTML:
<select size="4" name="lstbox_AdvCat" id="foo" style="height:500px; width:285px;">
<option value="0" Title="">None</option>
<option value="1" Title="Accessories
Clothing
Footwear
Jewelry
Watches">Apparel, Footwear, Accessories</option>
</select>
JS:
function lstbox_AdvCatOver(mEvent) {
alert("nodeName: [" + this.nodeName + "] - value: [" + this.value + "]");
}
var options = document.getElementById("foo").options;
for (var i = 0; i < options.length; i++) {
var option = options[i];
option.onmouseover = lstbox_AdvCatOver;
}
+0
这不适用于asp:listbox(正如我原来的状态),但这很好。它不承认这是我原来的问题的onmouseover事件。 – flavour404 2011-03-16 18:47:11
您是否使用ASP.NET?它现在有jQuery内置。 – 2011-03-16 01:23:43