0

ドロップダウン メニューにデータを入力しようとしています。2 番目と 3 番目のドロップ ダウン リストには、選択した前のドロップ ダウン値に従ってデータベースから取得した後の値が表示されます。コードドロップダウンで値を選択できません。助けてください。
国.jsp

State.jsp

City.jsp は、state.jsp とほぼ同じです。

私はすでにデータベースに値を追加しています。前もって感謝します

4

1 に答える 1

0

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>
于 2013-01-28T15:17:30.803 に答える