Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    Visualizzare dinamicamente immagine in select option

    Ciao

    non si può mettere un immagine nella select option accanto ad ogni valore che estraggo dinamicamente da database?

    codice:
    <select name="LINGUA">
    
       <% While Not rs.EOF %>
    
       <option value="<%=rs("NOME_LINGUA")%>">
          <%=rs("NOME_LINGUA")%> - [img]<%=rs([/img]" />
       </option>
    
       <% 'Vai al prossimo
             rs_lingua.MoveNext
             Wend %>
    
    </select>
    Nel campo rs("NOME_LINGUA") c'è il nome della lingua e in rs("PERCORSO_BANDIERA") c'è il percorso dell'immagine:

    /public/image/italia.gif


    Ho trovato e provato l'esempio seguente ma non è quello che voglio xchè non voglio mettere l'immagine sullo sfondo:

    <option style="background:url(immagine1.gif) no-repeat 0,0;">Ciao</option>
    <option style="background:url(immagine2.gif) no-repeat 0,0;">Miao</option>
    <option style="background:url(immagine3.gif) no-repeat 0,0;">Bau</option>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se la soluzione background non ti soddisfa dovrai cercarti (crearti) una pseudo select con css/js o jquery perché le option non supportano immagini al loro interno
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    ho trovato questa soluzione per visualizzare un'immagine all'interno di una select option, in questo caso è una bandierina della lingua.

    Con questa prima select recupero i valori della bandierina all'interno di un recordset e la visualizzo così:

    codice:
    <select>
    <option value="" id="tbn_img_bandiera" style="background:url(<%=rs("IMG_BANDIERA")%>) no-repeat;"><%=rs("NOME")%></option>
    </select>
    Visto che utilizzo questa select in un form di invio dati, in caso di mancato inserimento dati nel modulo, recupero i valori in una variabile:

    codice:
    nome=trim(replace(request.form("NOME"), "'", "''"))
    img_bandiera=trim(replace(request.form("IMG_BANDIERA"), "'", "''"))
    quindi recupero i dati con questa select:

    codice:
    <select>
    <option value="" id="tbn_img_bandiera"  style="background:url(<%=img_bandiera%>)  no-repeat;"><%=nome%></option>
    </select>
    purtroppo l'immagine richiamata attraverso la variabile "img_bandiera", non funziona, nel senso che l'immagine non si visualizza, xrò vedo il percorso e il nome dell'immagine in formato testo.

    Potete aiutarmi?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi
    <option value="" id="tbn_img_bandiera" style="background-image:url(
    <%=img_bandiera%>) no-repeat;"><%=nome%></option>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    ho fatto come mi hai detto ma non va lo stesso!

    Il problema è che il valore di "img_bandiera" non viene inserito all'interno di:

    codice:
    <option value="" id="tbn_img_bandiera"  style="background:url()  no-repeat;"><%=nome%></option>
    Detto questo ho provato questo codice per risolvere:

    codice:
    <% 
    img_bandiera = Response.Write(img_bandiera) %>
    bandierina = "style=""background:url(img_bandiera)"""
    %>
    
    <option value="" id="tbn_img_bandiera"  style="background:url(img_bandiera)"><%=nome%></option>
    ...ho risolto inserendo del "valore" in bacground ma non mi vede quel img_bandiera come variabile e quindi non estrae il percorso dell'immagine!!

    Avete qlc idea?...io finite!!!

  6. #6
    manca l'apici

    style="background-image:url('
    <%=img_bandiera%>') no-repeat;"

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    no, non va!

    Ho provato come mi hai suggerito:

    codice:
    <% bandierina = "style=""background-image:url('<%=img_bandiera%>')""" %>
    ...ma mi da errore xchè gli da fastidio la chiusura del %>...l'errore è questo:

    Microsoft VBScript compilation error '800a0409'

    Unterminated string constant


    tra l'altro ho trovato in rete una discussione simile dove hai risposto anche tu, ma non ha soluzione:
    http://forum.html.it/forum/showthrea...eadid=1483623&

    Allora ho provato così:
    codice:
      <% bandierina = "style=""background-image:url('Response.Write(img_bandiera)')""" %>
    perchè così:

    codice:
    <option .....style="background-image:url('Response.Write(img_bandiera)')">

    quindi non vede di nuovo la variabile.

  8. #8
    ma sei dentro codice asp, le stringhe vanno concatenate!

    <% bandierina ="style=""background-image:url('" & img_bandiera & "')""" %>

    ammesso che img_bandiera sia valorizzata correttamente

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    no, con questo:

    codice:
    <% bandierina ="style=""background-image:url('" & img_bandiera & "')""" %>
    ottengo questo:

    codice:
    <option value="31-Italian-it-/public/image/icone/bandiere/lingue/Italy.png---" id="tbn_img_bandiera" style="background-image:url('')">
    ottengo vuota questa stringa: style="background-image:url('')"

    xrò, nel value, vedi che prende il valore della bandierina:

    /public/image/icone/bandiere/lingue/Italy.png

  10. #10
    te l'avevo detto! ammesso che img_bandiera sia valorizzata correttamente, cosa che evidentemente non è. controlla

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.