Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71

    aggiunta campo input tramite select

    Buongiorno, sto cercando di venire a capo di un piccolo problemino. Nel mio form ho una select tramite la quale seleziono la domanda alla quale il cliente risponde. La domanda è fissa e prelevata da db mysql. Il punto è che se volessi far inserire all'utente la domanda dovrei creare un tag input nel momento in cui lui seleziona una voce specifica nella select. Il problema è che non ci riesco o meglio, non so dove sbaglio. Posto il codice che uso se qualcuno mi sapesse dare un dritta.
    Codice PHP:
    //Funzione per inserie tag Input nella pagina di registrazione
    $('#domanda').change(function(extra){
        if($(
    '#domanda option[value="100"]').attr("selected")){
        $(
    "#domanda").append('<input type="text" name="addquest" id="addquest">');
        };
    }); 
    questo invece è il markup
    codice HTML:
    <select name="domanda" id="domanda" tabindex="9">
     <option selected="selected" value="0">Scegli la domanda più adatta tra le seguenti</option>
    <?php
        if($result = $mysqli->query("SELECT * FROM question")){
            while ($row = $result->fetch_array())
            {
                echo '<option name="" value="' . $row['id']. '">', $row['domanda'] ,'</option>';
            }
        }
    ?>
    <option class="addinput" name="" value="100" onchange="extra()" >Scrivi tu la domanda</option>
     </select>
    Dove sbaglio?
    Ultima modifica di Paperino78; 04-09-2015 a 16:52

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    1) onchange va nella select non nella option
    2) non credo sia possibile appendere un input text in una select
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    1) onchange va nella select non nella option
    2) non credo sia possibile appendere un input text in una select
    Intanto grazie. L'input lo metterei DOPO la select, al momento dopo la select c'è un input dove va inserita la risposta, con questa possibilità dovrei inserire un altro input PRIMA dell'input di risposta. E' possibile?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    append aggiunge un oggetto o elemento "padre", se vuoi inserirlo prima devi usare after se vuoi inserirlo dopo before
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71
    Grazie! Dopo il tuo suggerimento sono riuscito a completare il lavoro. Ecco qua il risultato per chi fosse interessato:
    codice HTML:
    $(document).ready(function(extra){
    //imposto la funzione change all'id delle select
        $('#domanda').change(function(){
    //verifico che ilvalore della select scelta sia nel mio caso 100
            if ($('#domanda option[value="100"]').attr("selected")){
    // se fosse così aggiungo il tag input dopo ciò che mi interessa(nel mio caso un paragrafo di classe selquest)
                $(".selquest").after('<input type="text" name="addquest" id="addquest" placeholder="Scrivi qua la tua domanda">');
            } else {
    //qui elimino l'eventuale input presente al momento in cui decido di selezionare un altra voce della select
                $("#addquest").remove("");
            };
        });
    });

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 © 2024 vBulletin Solutions, Inc. All rights reserved.