Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    gestione di una select box un po' complicata

    ciao a tutti,
    in una jsp (insagenzia.jsp) ho una select box popolata con valori da db, nel seguente modo:

    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
    <%for(int i=0;i<provincia.size();i=i+2){ %>
    <option value="<%=provincia.get(i) %>" >
    <%=provincia.get(i+1) %></option>
    <%} %>
    </select>

    ...e questa è la maschera di inserimento: fin qui tutto ok! Faccio un piccolo campo di ricerca, essendo il risultato unico, visualizzo i dati in una form identica a quella di inserimento, ma per comodità mia l'ho messa in un'altra jsp (modagenzia.jsp). Metto i risultati in una lista: risultati. Ho popolato correttamente i campi di testo e le text area, ma per questa select box ho problemi a visualizzare il risultato (risultati.get(6)). come posso fare a farmi visualizzare il risultato giusto, pure mantenendone il contenuto? io avevo pensato ad una cosa del genere:

    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
    <%for(int i=0;i<provincia.size();i=i+2){ %>
    <option value="<%=provincia.get(i) %>" <%if(provincia.get(i)==risultati.get(6)){ %> selected="selected"> <%}%>
    <%=provincia.get(i+1) %></option>
    <%} %>
    </select>

    ma non riesco a trovare un modo per lasciare selezionato il risultato giusto :master: aiutatemi perchè non riesco a venirne fuori...

    chiedete pure per qualsiasi cosa

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Sono stringhe, non puoi usare == per il confronto
    codice:
    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
       <%for(int i=0;i<provincia.size();i=i+2){ %>
          <option value="<%=provincia.get(i) %>" 
             <%if(provincia.get(i).equals(risultati.get(6))) { %> 
                selected="selected" 
             <%}%>
             <%=provincia.get(i+1) %>
          </option>
       <%} %>
    </select>

  3. #3
    grazie, ci siamo quasi....
    ora viene correttamente selezionata la provincia giusta... ma aprendo la combo vedo solo quella... tutto il resto è vuoto:

    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
    <%for(int i=0;i<provincia.size();i=i+2){ %>
    <option value="<%=provincia.get(i) %>" <%if(provincia.get(i).equals(risultati.get(6))) { %>
    selected = "selected"> <%} %>
    <%=provincia.get(i+1) %></option>
    <%} %>
    </select>

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Manca > alla fine del tag option
    codice:
    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
       <%for(int i=0;i<provincia.size();i=i+2){ %>
          <option value="<%=provincia.get(i) %>" 
             <%if(provincia.get(i).equals(risultati.get(6))) { %>
                selected = "selected">  
    
             <%} %> 
             <%=provincia.get(i+1) %></option>
       <%} %>
    </select>
    Sostituisci con
    codice:
    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
       <%for(int i=0;i<provincia.size();i=i+2){ %>
          <option value="<%=provincia.get(i) %>" 
             <%if(provincia.get(i).equals(risultati.get(6))) { %>
                selected = "selected"
             <%} %> 
             ><%=provincia.get(i+1) %></option>
       <%} %>
    </select>

  5. #5
    si, me ne ero accorto e l'ho messo io... ma sfortunatamente ottengo il risultato che ti ho elencato

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Riposta il codice corretto che controlliamo.
    P.s.In futuro ti consiglio l'uso delle taglib che rendono il codice piu' leggibile.

  7. #7
    ecco:

    grazie mille


    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
    <%for(int i=0;i<provincia.size();i=i+2){ %>
    <option value="<%=provincia.get(i) %>"
    <%if(provincia.get(i).equals(risultati.get(6))) { %>
    selected = "selected"<%} %> >
    <%=provincia.get(i+1) %></option>
    <%} %>

    </select>

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    codice:
    <select id="Select_provincia" name="Select_provincia" onchange="setCities(this)" >
       <%
    for(int i=0;i<provincia.size();i=i+2) {
       out.print("<option value=\"");
       out.print(provincia.get(i));
       out.print("\"");
       if(provincia.get(i).equals(risultati.get(6))) {
             out.print(" selected=\"selected\"");
       } 
       out.print(">"+provincia.get(i+1)+"</option>");
    }
    %>
    </select>
    Il tuo codice sembra corretto.
    Hai detto che non ti si vedono altre opzioni tranne quella selezionata?

  9. #9
    già

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Apri la pagina con il browser. Guarda il codice sorgente che arriva al browser in quel punto e dimmi se vedi qualcosa di strano nel html.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.