2012-09-27 11 views
12

Muszę wydrukować wybrany identyfikator opcji z JavaScript, a nie JQuery dla obu znaczników wyboru.Jak uzyskać wybrany identyfikator opcji z Javascriptem, a nie JQuery

Załóżmy, że mamy więcej niż jeden znacznik wyboru.

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

znalazłem się w następujący sposób options[selectedIndex].id ale jak mogę wiedzieć, do którego z tych, które odnoszą się do linii ..

Wszelkie sugestie?

Próbowałem następujących czynności, ale to nie zadziałało.

<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> 
+0

Skąd wiadomo, do której linii należy? Co? Umieszczasz ten kod wszędzie tam, gdzie chcesz znaleźć "id". –

Odpowiedz

22
<select onchange="showOptions(this)"> 
    ... 

funkcja ta będzie wykonywać pracę

function showOptions(s) { 
    console.log(s[s.selectedIndex].value); // get value 
    console.log(s[s.selectedIndex].id); // get id 
} 

zauważyć, że o ile nie używasz ich do innych celów, można pominąć id wskazujących, select elementy

Przykład jsbin: http://jsbin.com/adopiz/2/edit

+0

Następnie usuwam mój oryginalny komentarz i oferuję +1! =) –

+0

Zaktualizowałem moje pytanie i dodałem to, co próbowałem na podstawie odpowiedzi Fabrizio, ale to nie zadziałało. – george

+0

Zrobiłem otworzyć jsbin i wydaje się, że kiedy próbuję ostrzec zwróconą wartość id, to znaczy, że jest niezdefiniowana ponownie. – george

Powiązane problemy