从<option>标记中获取值并在JSP中更新数据库

时间:2018-03-15 09:24:00

标签: database jsp

我制作了一个下拉列表,内容来自数据库,我可以在下拉列表中获取ID和名称以及显示名称。但我想在下一页只存储id:请参阅下面的代码:

 <%
         try{
             // Register JDBC driver
             Class.forName("com.mysql.jdbc.Driver");

             // Open a connection
             Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/infoshare", "root", "");

             // Execute SQL query
             Statement stmt = conn.createStatement();

            ResultSet rs = stmt.executeQuery("SELECT * FROM department WHERE status='A'");

             %>
              <select name="departments" style="padding:2px;">
               <option value ="000" disabled selected> Select Department</option>
             <%              
                while (rs.next()){ %>
                <option value=<%=rs.getInt("Department_id") %> > <%=rs.getString("Department_name") %> </option>                    
                <% }%>
                </select>
                <%
             // Clean-up environment
             rs.close();
             stmt.close();
             conn.close();
          }catch(SQLException se){
             //Handle errors for JDBC
             se.printStackTrace();
          }catch(Exception e){
             //Handle errors for Class.forName
             e.printStackTrace();
          }

        %>

提交表单后,我可以获取名称但无法获取标签的值,我想要选项标签的值,我该如何获得该值?

1 个答案:

答案 0 :(得分:0)

在我回答您的问题以从Dropdown获取所选值之前,请在代码中使用finally来关闭所有连接,语句结果集等。

要获取所选值,您必须修改您的选择标记,如下所示,并应在JSP中创建一个隐藏字段:

<select  id="name" name="name" onchange="updateName(value)">

<input type="hidden" name="selectedText" id="selectedText" value=""/>

你必须调用javascript调用来获取所选文本并在隐藏参数中分配所选值,如。

document.getElemetById("selectedText").value = selectedText;

为了更好地理解,请参考: http://jsfiddle.net/robertrozas/y8e4B/