Jak používat onClick()
nebo onSelect()
s option
štítek? Níže je můj kód, ve kterém jsem se to pokusil implementovat, ale nefunguje podle očekávání.
Poznámka:kde listCustomer
seznam doménových objektů se dostane na stránku JSP.
<td align="right"> <select name="singleSelect" "> <c:forEach var="Customer" items="${listCustomer}" > <option value="" onClick="javascript:onSelect(this);> <c:out value="${Customer}" /></option> </c:forEach> </select> </td>
Jak jej upravím, aby zjistil, že je vybrána možnost?
Odpověď
Ani onSelect()
ani onClick()
události jsou podporovány <option>
štítek. První se týká výběru textu (tj. kliknutím + tažením přes textové pole), takže jej lze použít pouze s <text>
a <textarea>
značky. onClick()
událost lze použít s <select>
tagy – pravděpodobně však hledáte funkcionalitu, kde by bylo nejlepší použít onChange()
událost, nikoli onClick()
.
Navíc podle vzhledu vašeho <c:...>
tagy, pokoušíte se také použít syntaxi JSP v prostém HTML dokumentu. To je prostě… nesprávné.
V reakci na váš komentář k této odpovědi – sotva tomu rozumím. Zdá se však, že chcete získat hodnotu <option>
značku, kterou uživatel právě vybral, kdykoli nějakou vybere. V tom případě chcete mít něco jako:
<html> <head> <script type="text/javascript"> function changeFunc() { var selectBox = document.getElementById("selectBox"); var selectedValue = selectBox.options[selectBox.selectedIndex].value; alert(selectedValue); } </script> </head> <body> <select id="selectBox" onchange="changeFunc();"> <option value="1">Option #1</option> <option value="2">Option #2</option> </select> </body> </html>