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

    JQuery: Popolare più campi di input tramite select

    Ciao Raga, urge aiutino
    ho cercato in rete qualche esempio ma non riesco ad adattarlo.

    La mia esigenza è quella di popolare alcuni campi di input tramite una select che passa i dati tramite ajax al file php per la query al db e ritorno valori.

    Sono certo che JQuery aiuterebbe molto, mi servirebbe qualche piccolo esempio.

    Quindi, quando seleziono un valore della select, si devono popolare 2 campi di input con valori rilevati attraverso il file php (query su db mysql)

    Qualcuno può passarmi un semplice esempio su cui lavorare ?

    Thanks



    .

  2. #2
    Raga inserico un pò di codice che potrebbe servire alla bisogna, preso da un esempio dove in pratica con la selezione della prima select si dovrebbe popolare la seconda, purtroppo a me non funziona!

    In ogni caso dovrei modificare la function per popolare non una seconda select ma 2 campi di input

    Codice della pagina html
    codice HTML:
    <script type="text/javascript" src="lib/js/jquery.js"></script>
    <script type="text/javascript">
    
    // definizione della funzione
    function inserisciVittorie() {
      // determinazione del metodo di interscambio e del primo selettore
      $.getJSON('vittorie1.php', {nomeNazionale:$('#nomeNazionale').val()}, function(data) {
        // popolamento della seconda select tramite array
        var select = $('#numeroVittorie');
        var options = select.attr('options');
        $('option', select).remove();
        $.each(data, function(index, array) {
          options[options.length] = new Option(array['vittorie']);
        });
      });
    }
    
    // modifica e inserimento di nuovi valori
    $(document).ready(function() { 
      inserisciVittorie();
      $('#nomeNazionale').change(function() {
        inserisciVittorie();
      });
    });
    </script>
    </head>  
    <body> 
    <form>
    Nazionali:
    <!-- prima select -->
    <select name="nazionali" id="nomeNazionale">
      <option>Brasile</option>
      <option>Italia</option>
      <option>Germania</option>
      <option>Argentina</option>
      <option>Spagna</option>
      <option>Francia</option>
      <option>Inghilterra</option>
    </select>
    Vittorie:
    <!-- seconda select -->
    <select name="vittorie" id="numeroVittorie">
    </select>
    </form>

    codice della pagina php
    Codice PHP:
    // connessione e selezione del database
    $connessione "mysql:host=localhost;dbname=WorldCup";
    // credenziali per l'autenticazione
    $utente "nomeuser";
    $password "password";
    // creazione dell'oggetto PDO
    $istanza = new PDO($connessione$utente$password);
    // definizione dell'array da parsare
    $risultato = array();
    // popolamento dell'array tramite query
    if(isset($_GET['nomeNazionale'])) {
      
    $query $istanza->prepare("SELECT vittorie FROM Vincitori WHERE nazionali = ? ORDER BY vittorie");
      
    $query->execute(array($_GET['nomeNazionale']));
      
    $risultato $query->fetchAll(PDO::FETCH_ASSOC);
    }
    // codifica dei risultati
    echo json_encode($risultato); 

    Mi aiutate per favore ?!


    .

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non complicarti la vita e fatti stampare le option direttamente da php che poi appendi a numerovittorie
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Non complicarti la vita e fatti stampare le option direttamente da php che poi appendi a numerovittorie
    Uhm...

    Ma io vorrei che all'interno del form i due campi di input si popolassero quando l'utente effettua una selezione nella select, ovviamente sfruttando ajax, senza il refresh della pagina.
    Come faccio a fare tutto solo con php ?

    Puoi farmi un esempio ?

    thanks

  5. #5
    Scusa, forse ho capito cosa intendevi.

    Le option della select ovviamente sono stampate tramite php (non fare caso all codice html dell'esempio),
    il mio intento è un altro; quando effettuo la selezione dalla select (che ho creato tramite php) devono popolarsi 2 campi di input tramite passaggio di dati ajax, json, etc.
    Spero di avere chiarito maggiormente.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660


    Quali sono questi due campi input? come si chiamano? hanno un id? come li devi valorizzare?

    codice:
    $("#input1").val(valore 1 del json);
    $("#input2").val(valore 2 del json);

  7. #7
    l'id dei campi di input sono #ora_start e #ora_end
    i valori dovranno essere rilevati tramite file php con chiamata al db.
    La logica penso sia molto simile all'esempio che ho postato inizialmente, ma invece che popolare la seconda select devo andare a popolare i 2 campi di input.
    Il problema come facevo presente l'esempio che ho prelevato in rete non mi funziona.
    Ultima modifica di newbobotime; 29-05-2014 a 10:58

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Un esempio:

    codice:
    <select id="idSelect">
        <option value=""></option>
        <option value="option1">option1</option>
        <option value="option2">option2</option>
    </select>
    <input id="ora_start"/>
    <input id="ora_end"/>
    codice:
    $("#idSelect").change(function(){
        $.getJSON("urlphp", {valueSelect:$(this).val()}, function(data){
            $("#ora_start").val(data.ora_start);
            $("#ora_end").val(data.ora_end);
        });
    });

  9. #9
    Grazie Vindav,
    ma non funziona !

    il file php che tu hai indicato come "urlphp" è strutturato in questo modo:

    Codice PHP:
    $connessione "mysql:host=localhost;dbname=MyDB";
    $utente "root";
    $password "password";
    $istanza = new PDO($connessione$utente$password);
    $risultato = array();
    if(isset(
    $_GET['idSelect'])) {
    $idSelect$_GET['idSelect']; 
      
    $query $istanza->prepare("SELECT ora_start, ora_end FROM orari WHERE id = $idSelect");
      
    $query->execute(array($idSelect));
      
    $risultato $query->fetchAll(PDO::FETCH_ASSOC);
    }
    echo 
    json_encode($risultato); 
    Mi aiuti per favore ?



    .

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    nel mio esempio passo il parametro valueSelect non idSelect quindi o cambi la parte php o la parte jquery

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.