Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如何获取所选项目的ID_Javascript_Getelementbyid - Fatal编程技术网

Javascript如何获取所选项目的ID

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}}

我正在使用Web2Py向我的视图发送一个值列表

我的HTML如下所示:

<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
replace
var 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)">