yorgos
yorgos

Reputation: 1818

How to get selected option ID with Javascript not JQuery

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

Answers (1)

Fabrizio Calderan
Fabrizio Calderan

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

Related Questions