Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    select che richiama altra select (AJAX)

    Ho una select, popolata dinamicamente via PHP, che in base alla selezione mostra un'altra select, a sua volta popolata dinamicamente, sempre via PHP.
    Il passaggio dalla prima alla seconda select avviene via AJAX (+PHP).
    Questo è il codice della prima select:
    Codice PHP:
    <select name="htl" id="htl" style="font-size:12px;" onchange="javascript:sndReq('this.options[this.selectedIndex]')">               
    <option value="null">selezionare</option><?PHP 
    $empty
    ""$result mysql_query("SELECT * FROM `offerte` WHERE `tit_it` != '$empty' GROUP BY `id_hotel`"); while ($row mysql_fetch_array($result)) { 
    echo 
    "<option value=\"" $row["id_hotel"] . "\">" $row["nome_hotel"] . "</option>"; }  
    ?></select>
    Il problema è che, invece di trasmettere il valore della option, trasmette - letteralmente - this.options[this.selectedIndex].
    La pagina PHP che riceve la request, di conseguenza, non può popolare la seconda select, perché priva del valore necessario ad effettuare la query.
    Che il valore passato sia quello (this.options[this.selectedIndex]), lo ricavo facendo un echo del valore appena passato.

    Non riesco proprio a capire... dovrebbe essere tutto corretto...
    Tra l'altro ( ), dapprima funzionava... poi mi sono accorto che nel db c'era un dato con un valore mancante, e quindi l'ho rimosso dal database; al test successivo della pagina non andava più... eppure, non ho apportato (almeno consapevolmente) alcuna modifica!
    metatad
    graphic & web design

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non riesco proprio a capire... dovrebbe essere tutto corretto...
    Assolutamente no inserendo gli apici '....' passi una string e senza il value passeresti l'elemento options in questo caso sarà cosi : javascript:sndReq(this.options[this.selectedIndex].value).

    P.S. Se posso ti consiglierei di studiarti il javascript queste sono nozioni basilari (non è la prima volta che lo riscontro) come fai tu oltre aperdere + tempo dipendi sempre da altri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Si, probabilmente mi manca qualcosa nella conoscenza del JavaScript...
    comunque, scrivendo come dici tu:
    Codice PHP:
    onchange="javascript:sndReq(this.options[this.selectedIndex])" 
    mi restituisce:
    Codice PHP:
    [object HTMLOptionElement
    e ancora una volta - ovviamente - non è il valore corretto, e quindi non può effettuare la query...

    P.S.
    Avevo messo gli apici perchè ho fatto un copia/incolla da un'altra pagina, in cui funziona benissimo, solo che lì il valore era dichiarato - una cosa del tipo:
    Codice PHP:
    onchange="javascript:sndReq('action')" 
    metatad
    graphic & web design

  4. #4
    Originariamente inviato da metatad
    Si, probabilmente mi manca qualcosa nella conoscenza del JavaScript...
    comunque, scrivendo come dici tu:
    Codice PHP:
    onchange="javascript:sndReq(this.options[this.selectedIndex])" 
    mi restituisce:
    Codice PHP:
    [object HTMLOptionElement
    e ancora una volta - ovviamente - non è il valore corretto, e quindi non può effettuare la query...
    Ma ovvio che non &egrave; il valore corretto!
    Se leggevi bene la risposta di cavicchiandrea, allora avresti scritto:
    codice:
    onchange="javascript:sndReq(this.options[this.selectedIndex].value)"
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ooops!...
    metatad
    graphic & web design

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.