Reputation: 1818
I need to print the selected option ID with Javascript not JQuery for both select tags.
Assume we have more than one select tags.
<select onchange="showOptions(this)" id="my_select1">
<option value="a1" id="ida1">Option1</option>
<option value="a2" id="ida2">Option2</option>
</select>
<select onchange="showOptions(this)" id="my_select2">
<option value="b1" id="idb1">Option1</option>
<option value="b2" id="idb2">Option2</option>
</select>
I found out the following way options[selectedIndex].id
but how can I know to which one of those that line refers to..
Any suggestions?
I Tried the following but it did not work.
<select id="my_select" onchange="showOptions2(this)">
<option value="o1" id="id1">Option1</option>
<option value="o2" id="id2">Option2</option>
</select>
<script type = "text/javascript">
function showOptions2(s){
var adVALUE = console.log(s[s.selectedIndex].value); // get value
var adID = console.log(s[s.selectedIndex].id); // get id
alert(adID);
}
</script>
Upvotes: 16
Views: 82079
Reputation: 123428
<select onchange="showOptions(this)">
...
this function will do the work
function showOptions(s) {
console.log(s[s.selectedIndex].value); // get value
console.log(s[s.selectedIndex].id); // get id
}
Note that, unless you are using them for other purpose, you may omit the id
on select
elements
Example jsbin : http://jsbin.com/adopiz/2/edit
Upvotes: 35