<select name="item">
<c:forEach items="${combo}" var="id">
<option value="${id}">${id}</option>
</c:forEach>
</select>
Comment pouvons-nous obtenir la valeur sélectionnée dans la liste déroulante ci-dessus?
Je sais que c'est une vieille question, mais comme je cherchais sur Google, c'était le premier lien dans les résultats. Alors voici la solution jsp:
<form action="some.jsp">
<select name="item">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit" value="Submit">
</form>
dans some.jsp
request.getParameter("item");
cette ligne renverra l'option sélectionnée (à partir de l'exemple, il s'agit de 1, 2 ou 3)
utiliser jquery
$("#item").change(function({
var x=$(this).val();
});
Votre valeur sera dans la variable x
, utilisez cette valeur dans votre jsp, comme ceci {x}
cette instruction donnera la valeur
J'ai encore une option supplémentaire pour obtenir la valeur de id
:
var idElement = document.getElementById("idName");
var selectedValue = idElement.options[idElement.selectedIndex].value;
C'est une solution JavaScript
simple.
Direct value
devrait très bien fonctionner:
var sel = document.getElementsByName('item');
var sv = sel.value;
alert(sv);
La seule raison pour laquelle votre code peut échouer, c'est qu'aucun élément n'est sélectionné. La variable selectedIndex
renvoie -1 et le code est rompu.
<%-- if you want to select value from drop-downlist here is jsp code. --%>
<body>
<form name="f1" method="get" action="#">
<select name="clr">
<option>Red</option>
<option>Blue</option>
<option>Green</option>
<option>Pink</option>
</select>
<input type="submit" name="submit" value="Select Color"/>
</form>
<%-- To display selected value from dropdown list. --%>
<%
String s=request.getParameter("clr");
if (s !=null)
{
out.println("Selected Color is : "+s);
}
%>
</body>