如何在JSP中设置下拉菜单的选择更改值

How to set value on select change of drop down in JSP

本文关键字:选择 下拉菜单 设置 JSP      更新时间:2023-09-26

这是我为index.jsp编写的代码。我想要它,这样当我在下拉菜单中选择一个选项时,应该打印出值,还应该设置值。例如,如果我们选择"葡萄",那么它应该打印"葡萄"并将值设置为"葡萄"。我尝试了很多事情,但都做不到。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
</head>
<body>
    <form method="post" action="index.jsp" name="productForm">
    <select name="colour" onchange="document.productForm.submit();">
        <option value="dropdown">Pls select one
        <option value="apple">Apple
        <option value="oragne">Orange
        <option value="grapes">Grapes
    </select>
    <input type="hidden" name="dropdown" id="dropdown">
    <input type="submit" value="click" name="dropdown" id="dropdown">
    <form>
    <%
        String colour = request.getParameter("colour");
        out.println(colour);
    %>
</body>
</html>

试试这个并告诉我。。

<script type="text/javascript">
function setValue(){
document.getElementById("dropdown").value=document.getElementById("colour").value;
document.productForm.submit();
return true;
}
</script>
<form method="post" action="index.jsp" name="productForm">
    <select id="colour" name="colour" onchange="return setValue();">
        <option value="dropdown">Pls select one
        <option value="apple">Apple
        <option value="oragne">Orange
        <option value="grapes">Grapes
    </select>
    <input type="hidden" name="dropdown" id="dropdown">
    <input type="submit" value="click" name="btn_dropdown">
    <form>
  <%
        String colour = request.getParameter("colour").toString();
        out.println(colour);
   %>

form和所有option标签未关闭

option:的正确标记示例

<option value="apple">Apple</option>

你更新的代码应该是这样的:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
    </head>
    <body>
        <form method="post" action="index.jsp" name="productForm">
            <select name="colour" id="dropdown">
                <option value="dropdown">Pls select one</option>
                <option value="apple">Apple</option>
                <option value="oragne">Orange</option>
                <option value="grapes">Grapes</option>
            </select>
            <input type="submit" value="click">
        </form>
        <%
        String colour = request.getParameter("colour");
        out.println(colour);
        %>
        <script>
        document.getElementById("dropdown").value = '<% out.print(colour); %>';
        </script>
    </body>
</html>

第一件事,如果你想在值更改时将值设置到下拉列表中,那么它自己就可以了。但如果您想将所选的值设置为会话,它本身也会这样做,您所要做的就是在处理请求的下一页或后端使用request.getParameter(color)。要在控制台上打印,您有正确的代码。只需正确关闭标签。