当前位置: 首页 > 知识库问答 >
问题:

jsp中数据库的动态下拉不工作

唐弘厚
2023-03-14

我正在尝试填充一个下拉菜单。第二个和第三个下拉列表应显示根据先前选择的下拉值从数据库检索后的值。你能指出我代码中的错误吗。当我运行代码时,我无法在任何下拉列表中选择任何值。请帮帮我<乡村。jsp

状态jsp

City.jsp几乎和state.jsp一样

我已经在数据库中添加了值。提前谢谢

共有1个答案

田博超
2023-03-14

请使用预定义框架,如JSTL/SQL和jQuery.js

这应该起作用:

<%--
    Document   : index
    Created on : Jan 23, 2013, 7:43:24 PM
    Author     : Ankit
--%>

<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<sql:setDataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:XE" user="system" password="ankit" var="db" scope="request" />
<sql:query dataSource="${db}" var="countrys" sql="SELECT * FROM country" />
<sql:query dataSource="${db}" var="states" sql="SELECT * FROM state WHERE countryid=${param['countryid']}" />
<sql:query dataSource="${db}" var="cities" sql="SELECT * FROM city WHERE cityid=${param['cityid']}" />
<!DOCTYPE html>
<html>
    <head>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
        <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
        <script type="text/javascript" language="javascript" src="jquery.js"></script>
    </head>
    <body>
        <form>
        <select name="countryid" id="countrylist" onclick="jQuery('#statelist').load('?countryid='+jQuery(this).val(),'#statelist');">
            <c:forEach items="${countrys}" var="country">
                <option value="${country.id}">${country.name}</option>
            </c:forEach>
        </select>
        <select name="stateid" id="statelist" onclick="jQuery('#citylist').load('?cityid='+jQuery(this).val(),'#citylist');">
            <c:forEach items="${states}" var="state">
                <option value="${state.id}">${state.name}</option>
            </c:forEach>
        </select>
        <select name="cityid" id="citylist">
            <c:forEach items="${cities}" var="city">
                <option value="${city.id}">${city.name}</option>
            </c:forEach>
        </select>
        <button>Finish</button>
        </form>
    </body>
</html>
 类似资料:
  • 我想有一个下拉列表,当我改变第一个下拉列表时会改变。我确信我的servlet是正确的,因为它返回我需要的值,但是我的servlet不运行。当我调试时,它不会碰到servlet中的断点。 我想这与我的JavaScript有关。 以下是JSP文件: 这是javascript文件 servlet是可以的,我确信这一点,所以没有必要把它放在这里。

  • 我需要帮助将这些值动态添加到mysql数据库的下拉列表中。 工作流程: 在我的jsp页面中, 1.国家名称是servlet的会话属性 2.Sate是一个自动完成的文本框 3.District是下拉列表。 根据国家名称,州文本框将通过自动完成填充,地区名称是一个下拉列表,其中地区名称应动态添加到下拉列表中 问题: 我需要根据位置和州将地区名称的值添加到下拉列表中。 我的数据库查询是“从位置列表中选择

  • 我想在Spring MVC中填充一个下拉框,我试图这样做,但是我得到了空指针异常 这是我的控制器: 这是我的服务方法: 这是我的 DAO 方法: 最后这是我的JSP页面: 这是堆栈跟踪: sun.reflect.NativeMethodAccessorImpl上com.easylib.elibrary.webapp.controller.catalog.CatalogueController.ne

  • 我在mysql数据库中有名为的表,其中存在类、学生姓名等。 我想在jsp中使用select选项,这样当且仅当首先选择class时,在选择class之后,该特定类的所有学生姓名都应该通过从数据库中检索记录自动(动态)显示在另一个select下拉列表中。 在这里我想使用servlet进行数据库连接,并通过通过jsp访问所有数据库记录

  • 我想创建两个动态下拉列表框,但两个文本框的数据都来自API响应,而不是本地数据库。当我在第一个下拉列表中选择数据时,必须根据选择的数据进行REST调用,并且必须在第二个下拉列表中显示响应。有没有办法做到这一点? 我搜索这个很长时间,但我能够这样做,只使用本地数据库的数据。

  • 本文向大家介绍ListView实现下拉动态渲染数据,包括了ListView实现下拉动态渲染数据的使用技巧和注意事项,需要的朋友参考一下 这是一篇关于LIstView实现动态数据渲染的文章!  首先我们讲讲数据是如何来规划的 一般情况下我们有两种规划方案 前提比如我们数据是100条+ 第一:一次性把100条数据fetch过来 然后由前端JS代码来做分页处理(如每次渲染10条) 第二:在server端