Javascript如何获取所选项目的ID
我正在使用Web2Py向我的视图发送一个值列表 我的HTML如下所示:Javascript如何获取所选项目的ID,javascript,getelementbyid,Javascript,Getelementbyid,我正在使用Web2Py向我的视图发送一个值列表 我的HTML如下所示: <select id="DestinationOptions" onchange="SetDest(this)"> {{for key, value in dirList.iteritems():}} <option name="DirListItem{{=key}}" id="{{=key}}"> {{=value}}</option> {{pass}}
<select id="DestinationOptions" onchange="SetDest(this)">
{{for key, value in dirList.iteritems():}}
<option name="DirListItem{{=key}}" id="{{=key}}"> {{=value}}</option>
{{pass}}
</select>
function SetDest(destComboBxID)
{
alert(destComboBxID.id);
var e = document.getElementById(destComboBxID);
var path = e.option[e.selectedIndex].value;
alert(path);
//document.cookie = "GD_"+file.id + "=" + file.id + ";";
}
我只得到第一个警报()
,然后在浏览器中调试时得到以下错误:
未捕获类型错误:无法读取null的属性“options”
问:如何获取所选值的ID?您可以向选择字段添加EventListener。当它更改时,您可以使用
e.target.options[e.target.selectedIndex].getAttribute('ID')
获取所选选项的ID。
document.getElementById('DestinationOptions').addEventListener('change',函数(e){
log(e.target.options[e.target.selectedIndex].getAttribute('id');
});代码>
你好
世界
注意:您的模板是这样的,而不是HTML
replacevar e=document.getElementById(destComboBxID)代码>带有var e=bxid代码>如果不是HTML,你会怎么称呼它?它来自一个*.html文件…它被称为模板,由模板引擎处理以呈现html,文件扩展名并不重要,但在这种情况下*.html是错误的,因此我认为如果代码使用(此)关键字only它将返回对象引用select not it is ID然后在函数中他将其用作ID,所以我认为解决方案是使用(this.ID)。
<select id="DestinationOptions" ="SetDest(this.id)">