Salve a tutti ragazzi!
Sto avendo un bel po' di problemi con la realizzazione di due select dinamiche in JSP.
In pratica, a seconda del valore della prima select, la seconda select si popolerà con altri valori (lavoro con un database).
Dovrei fare in modo che, ad ogni scelta della prima e seconda select, il menu a tendina rimanga "bloccato" con la voce selezionata.
Ho utilizzato una funziona Javascript per ciò ma non riesco a trovare l'errore che posso aver commesso.
Vi allego il codice qua sotto e spero che possiate aiutarmi.
Grazie!
codice:
<%@ page language="java" import="java.sql.*" %>
<%@ page errorPage = "errorPage.jsp" %>
<%@ include file="config.jsp" %>
<html>
<body>
<head>
<script>
function ricerca()
{
var marca = document.f.Marca.value;
var modello = document.f.Modellopneus.value;
location.href='home1.jsp?marca='+marca+'&modello='+modello;
}
</script>
</head>
<%
String marca = null;
if(request.getParameter("marca") == null)
{
marca = request.getParameter("marca");
}
String modello = null;
if(request.getParameter("modello") == null)
{
modello = request.getParameter("modello");
}
/*
* *******************************************************************
* COMBO BOX MARCA
*/
%>
<form name="f">
Marca <select id="marca" name="Marca" onchange="ricerca();">
<%
String queryMarca ="SELECT DISTINCT marca.Descrizione, marca.ID FROM (modellopneus JOIN items ON items.modello=modellopneus.ID) JOIN marca ON marca.ID=items.marca JOIN misura ON misura.ID=items.misura ";
ResultSet resultMarca = stmt.executeQuery(queryMarca); %>
<option value=""></option>
<%
while(resultMarca.next())
{%>
<option value="<% out.print(resultMarca.getString("ID")); %>" <% if(marca == resultMarca.getString("ID")) {%> selected="selected" <% } %>>
<%
out.print(resultMarca.getString("Descrizione"));%>
</option>
<%
}
%>
</select>
<!-- Combo box per ModelloPneus -->
Modello <select name="Modellopneus" id="modellopneus" onchange="ricerca();">
<%
//Results for 'ModelloPneus'
String queryMod = "SELECT DISTINCT modellopneus.Descrizione AS modello, modellopneus.ID "+
"FROM (modellopneus JOIN items ON items.modello=modellopneus.ID) "+
"JOIN marca ON marca.ID=items.marca JOIN misura ON misura.ID=items.misura WHERE marca="+marca;
%>
<option value=""></option>
<%
ResultSet resultMod = stmt.executeQuery(queryMod);
while(resultMod.next())
{
%>
<option value="<% out.print(resultMod.getString("ID")); %>" <% if(modello == resultMod.getString("ID")) {%> selected="selected" <% } %>>
<%
out.print(resultMod.getString("modello"));
out.print("</option>");
}
%>
</select>
</form>
</body>
</html>