Javascript如何获取所选项的ID

时间:2017-04-26 21:16:07

标签: 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>

我的javascript是这样的:

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 + ";";
}

我只得到第一个alert(),然后当我在浏览器中调试时出现以下错误:

Uncaught TypeError: Cannot read property 'options' of null

问:如何获取所选值的ID?

2 个答案:

答案 0 :(得分:3)

您可以将EventListener添加到选择字段。如果更改,您可以使用e.target.options[e.target.selectedIndex].getAttribute('id')获取所选选项的ID。

&#13;
&#13;
document.getElementById('DestinationOptions').addEventListener('change', function(e) {
    console.log(e.target.options[e.target.selectedIndex].getAttribute('id'));
});
&#13;
<select id="DestinationOptions">
    <option id="1">Hello</option>
    <option id="2">World</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

<select id="DestinationOptions" ="SetDest(this.id)">