web-dev-qa-db-fra.com

Comment obtenir la valeur sélectionnée dans la liste déroulante de jsp?

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

9
Pearl

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)

23
Cԃաԃ

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

2
JohnRose

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.

1
y07k2

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.

1
Milind Anantwar
    <%-- 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>
1
user612