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

    [JQUERY - AJAX] Caricamento e trasferimento dati

    All'interno di un form ho una serie di select; una di queste select all'evento "onchange" fa un richiamo ajax che mi carica le "option" di una seconda select:

    codice:
    /* carico le "option" della seconda select  */
    $('#taglia').change(function(){
        var id_prod = $("#id_prod").val();
        var taglia = $("#taglia").val();
        $.ajax({
            type: "POST",
            url: "preleva_option.php",
            data: {id_prod: id_prod, taglia: taglia},
            dataType: "html",
            success: function(msg){
                $("#option").html(msg);
            }
        });
    }).change();
    Man mano che seleziono il resto delle select, effettuo un calcolo tramite un secondo richiamo ajax sulla base di tutti gli "input" del form:


    codice:
    /* effettuo un calcolo */
    $(".c_filtro").on('change', function(){
        $.post(
        'elabora.php',
        $('#form_pers :input').serializeArray(),
        function(result){
            $('#prezzo').html(result);
        });
    }).change();

    Il problema è che il valore delle "option" caricate con il primo richiamo ajax vengono trasferiti nel "calcolo" solo se cambio manualmente la select ma avrei bisogno di trasferirlo anche al caricamento della pagina... Come posso risolvere?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se nelle select hai un valore iniziale lo prelevi al onload.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Cerco di spiegare meglio il concetto con un esempio...

    All'interno del form ho 2 select: regioni e province; se seleziono manualmente la regione mi escono fuori le province nella seconda select... nel frattempo con l'evento onchange prendo tutti i valori del form (regione e provincia selezionati) e mi ricavo il comune con un secondo richiamo ajax...

    Finché seleziono manualmente tutto ok...

    Quando invece carico la pagina, ho il valore iniziale di una regione e con il codice che ho postato mi ricavo subito l'elenco delle province... il secondo richiamo ajax anche funziona in automatico, ma non si prende il valore della provincia selezionata e di conseguenza non mi da i comuni corrispondenti...

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    posta il codice completo.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Al caricamento della pagina viene considerata la prima option di "taglia" (mi sta bene); con il primo ajax mi ricavo le option della seconda select, dopodiché il secondo ajax deve prendere i valori delle due select e darle in pasto a elabora_prezzo.php che non esegue altro che alcuni calcoli. Il problema è che il valore di "altezza" non lo vede.

    codice:
    <form action="" method="POST" id="form">
        <input type="hidden" id="id_prod" name="id_prod" value="12345">
        <select class="filtro" id="taglia" name="taglia">
            <option value="0">Val 0</option>
            <option value="1">Val 1</option>
            <option value="2">Val 2</option>
            <option value="3">Val 3</option>
            <option value="4">Val 4</option>
        </select>
        <div class="form-group">
            <select class="filtro" name="altezza" id="altezza">
                <option value="0">Val 0</option>
            </select>
        </div>
        <div id="prezzo"></div>    
        <button type="submit">Submit</button>
    </form>
    <script type="text/javascript">
        $('#taglia').change(function(){
            var id_prod = $("#id_prod").val();
            var taglia = $("#taglia").val();
            $.ajax({
                type: "POST",
                url: "seleziona_altezza.php",
                data: {id_prod: id_prod, taglia: taglia},
                dataType: "html",
                success: function(msg){
                    $("#altezza").html(msg);
                }
            });
        }).change();
        
        $(".filtro").on('change', function(){
            $.post(
            'elabora_prezzo.php',
            $('#form :input').serializeArray(),
            function(result){
                $('#prezzo').html(result);
            });
        }).change();
    </script>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Visto che lo vuoi al caricamento della esegui il tutto lato server è anche un processo più "pulito" invece di care la pagina e modificarla con Ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    si ma per quale motivo non mi passa il valore di "altezza" se viene comunque selezionato?

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai provato con :
    data:'id_prod='+id_prod+'&taglia='+taglia,
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da magic_key Visualizza il messaggio
    si ma per quale motivo non mi passa il valore di "altezza" se viene comunque selezionato?
    Direi perché non passi il valore $('#form :input').serializeArray() invia solo id_prod, per conferma vedi la console cosa esegui nella chiamata Ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Però i valori passano tutti se seleziono manualmente le "select"... il problema sta nel passare i valore al caricamento della pagina

    Come posso risolvere?

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.