Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [jQuery] impossibile richiamare valore di un nodo xml

    Buonasera,

    Il problema è il seguente.

    Ho una struttura di tag select, alcuni dei quali a struttura "fissa" e altri no.

    Ad esempio ho una select in html dove le options sono state dichiarate. A seconda dell'option viene popolata una seconda select tramite un file .xml. La seconda select a sua volta deve popolare una terza select, ma la seconda essendo caricata dinamicamente non ha gli option nell'html, altrimenti dovrei creare n select.

    Se nella prima select, lì dove le option sono nell'html, riesco in jQuery a richiamare il singolo valore del singolo nodo, non riesco a fare lo stesso nel momento in cui voglio collegare la scelta della seconda select al caricamento dei nodi nella terza select. In pratica un nodo chiama un altro nodo altrove.

    Quello che mi sembra strano è che 1) se l'option si trova nell'html allora in jQuery il suo valore mi viene letto, altrimenti, se l'option si trova all'interno di un append, no.

    Il fatto è che penso di non poter fare altrimenti.

    Nel frattempo ho seguito varie indicazioni ma tutte senza risultato, perchè ad esempio, se in jQuery dico di crearmi con l'append le option sulla base dell'id di una select vuota, quando vado a chiedergli di prendere in considerazione un nodo e gli dico di stamparmi un alert, non mi stampa nulla. Entra nella funzione e stop.

    Allego un pò il codice

    HTML

    <select id="selectProvincia">
    <option value="seleziona">Seleziona...</option>
    <option value="PE">Pescara</option>
    <option value="TE">Teramo</option>
    <option value="AQ">L'Aquila</option>
    <option value="CH">Chieti</option>
    <option value="AN">Ancona</option>
    </select>

    <select id="selectSede">
    <!--
    <option value="seleziona">Seleziona...</option>
    <option value="VIAT">Via Teramo</option>
    <option value="PZZLST">Piazza della Rinascita</option>
    <option value="VLCRC">Viale Crucioli</option>
    <option value="MGL">Megal&ograve;</option>
    -->
    </select>

    <select id="selectPersonale">
    <!--
    <option value="seleziona">Seleziona...</option>
    <option value="MRB">Mario Bianchi</option>
    <option value="MRR">Mario Rossi</option>
    <option value="MRG">Mario Gialli</option>
    -->
    </select>

    jQuery

    if($('#selectSede').val() == "VIAT") { (ma lui non capisce cosa sia "VIAT")
    alert('Ciao');
    $('#selectSede').empty();
    $(xml).find('perspescara').each(function(){
    var perspescara = $(this).text();
    $("#selectPersonale").append("<option value='" + perspescara + "'>" + perspescara + "</option>");
    });
    }

    XML

    <pescara>
    <sedepescara value="VIAT">Via Teramo</sedepescara>
    <sedepescara value="PZZSLTT">Piazza della Rinascita</sedepescara>
    </pescara>

    <personalepescara>
    <perspescara value="MRB">Mario Rossi</perspescara>
    <perspescara value="MRR">Mario Bianchi</perspescara>
    <perspescara value="MRG">Mario Gialli</perspescara>
    </personalepescara>

    Qualche idea?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    per prima cosa assicurati che il codice javascript sia all'interno di $(document).ready...
    Questo perchè quell'evento viene chiamato ad ogni cambio del DOM e quindi la funzione viene eseguita al momento opportuno.
    Se anche così non va deve esserci qualcos'altro...hai postato tutto il codice?

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.