的方法如下:
<select id="dropdown" onchange="fetchValues()">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
function fetchValues() {
var dropdown = document.getElementById("dropdown");
var selectedValue = dropdown.options[dropdown.selectedIndex].value;
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 设置请求的URL
xhr.open("GET", "fetchValues.jsp?selectedValue=" + selectedValue, true);
// 设置回调函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
var response = xhr.responseText;
var values = response.split(",");
// 将获取的值填充到文本框中
document.getElementById("textbox1").value = values[0];
document.getElementById("textbox2").value = values[1];
}
};
// 发送请求
xhr.send();
}
<%@ page import="java.sql.*" %>
<%
String selectedValue = request.getParameter("selectedValue");
// 连接数据库
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "username";
String password = "password";
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
// 执行查询操作
String query = "SELECT value1, value2 FROM mytable WHERE dropdown_value = ?";
stmt = conn.prepareStatement(query);
stmt.setString(1, selectedValue);
rs = stmt.executeQuery();
if (rs.next()) {
String value1 = rs.getString("value1");
String value2 = rs.getString("value2");
// 将查询结果返回给前端
out.print(value1 + "," + value2);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
%>
以上代码示例中,前端使用JavaScript的XMLHttpRequest对象发送异步请求到服务器端的fetchValues.jsp页面。该页面通过JDBC连接数据库,并执行查询操作,将查询结果返回给前端。前端接收到结果后,将值填充到指定的文本框中。
这种方法可以实现根据下拉列表的值从数据库中检索所需的值,并将其填充到文本框中,而不使用表索引。根据具体的业务需求,可以根据需要修改和扩展代码。
领取专属 10元无门槛券
手把手带您无忧上云