使用dropdown onchange event jsp从数据库的不同文本框中检索两个值,而不使用表索引

nxowjjhe  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(371)

下面的代码将只在文本框中显示一个值,但我需要的是,如果我选择一个下拉选项,它必须在每个单独的文本框中显示它的所有行值..使用dropdown onchange event jsp从数据库中检索单独文本框中的两个或多个值,而不使用表索引。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
        <%@page import = "java.sql.*" %>
        <%@page import = "java.sql.DriverManager.*" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script type="text/javascript">
    function populateCustomerId(){
        var selectBox = document.getElementById('selectBox');
         var selectedCustomerId = selectBox.options[selectBox.selectedIndex].value;
        document.getElementById('customerId').value = selectedCustomerId;

    }</script>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Select</title>
    </head>
    <body>
    <%
    try{   
        Class.forName("com.mysql.jdbc.Driver");
        Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/ravi","root","root");
        Statement st = con.createStatement();
        ResultSet rs = null;
            rs = st.executeQuery("select rid, rname, rmbl from r"); 
    %>
        <select id="selectBox" onchange="populateCustomerId();">
            <%while(rs.next()){ %>

                <option value="<%=rs.getString(2) %>"><%=rs.getString(1) %></option>

            <%} %>
            <%}
        catch (Exception e){
                e.printStackTrace();
            } %>

        </select>
        <input id="customerId" type="text" value="" />
        <input id="" type="text" value="" />
        <input id="" type="text" value="" />
    </td>
    </body>
    </html>
sqyvllje

sqyvllje1#

简单地将数据传递到元素的数据属性,如下所示

<option value="<%=rs.getString(2) %>" data-name="<%=rs.getString(3)%>" data-xyz="value-which-you-want-to-get-in-change-event"><%=rs.getString(1) %></option>

现在可以在change事件函数中获得该值

function populateCustomerId(){
        var selectBox = document.getElementById('selectBox');
         var selectedCustomerId = selectBox.options[selectBox.selectedIndex].value;

        var xyz = selectBox.options[selectBox.selectedIndex].getAttribute('data-xyz');
        var name = selectBox.options[selectBox.selectedIndex].getAttribute('data-name');

        document.getElementById('customerId').value = selectedCustomerId;
        document.getElementById('customerName').value = name;
        document.getElementById('customerXyz').value = xyz;

    }

这只是一个简单的例子。你可以根据需要改进它。

相关问题