Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    13

    Selezionare il valore di un campo usando una select

    Sono nuovo e sto imparando ad usare in maniera piú approfondita lo Javascript.

    Non riesco a fare una cosa che, di sicuro é semplice all'interno di form.

    Con Javascript popolo una SELECT (ID_PACCO) dinamicamente. Nel tempo i vari ID_PACCO potrebbero cambiare e con esso le varie caratteristiche e quindi non posso usare options statiche.

    A seconda della selezione ID_PACCO, ho una serie di variabili (SI o NO) che sono in campi HIDDEN e che sono registrati nella medesima tabella.

    A seconda del valore di questi campi hidden, si attivano o meno un'altra serie di campi.

    Faccio un esempio:

    dipendendo da onchange ID_PACCO (I nomi potrebbero essere bianco, giallo, rosso, blu)

    PDV puó essere SI oppure NO
    IF PDV== "SI" si attivano i campi 1,2,3
    IF PDV== "NO" i campi 1,2,3 spariscono e si attivano i campi 4,5,6

    La mia domanda é la seguente:

    Come faccio a scrivere (far prendere il valore SI o NO al campo PDV a seconda della selezione di ID_PACCO?

    Spero di essermi sufficentemente spiegato.

    Grazie anticipatamente

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Benvenuto.
    Non è chiarissimo ma a grandi linee puoi usare sempre delle condizioni o un sistema analogo; per cui, attraverso onchange dell'elemento select, vai a leggere il valore assunto dalla sua proprietà value e in base a questo vai a modificare i tuoi campi come meglio ti serve. Bisogna poi capire come questi influiscano sull'attivazione dell'altra serie di campi.

    PS: Se ti serve un aiuto più preciso dovrai fornire indicazioni altrettanto precise. Nel caso, posta anche il tuo codice\script su cui stai lavorando, così da avere un punto di partenza in base al quale ti si può consigliare al meglio.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    13
    Grazie per la risposta.

    Questo é il pezzo di codice di cui cerco di venire a capo.
    Questo script lo uso con PHP MAKER 10.0 ed é per questo che i campi si chiamo con il $ e # ma poi usa Javascript e/o JQuery.


    $(document).ready(function(){

    $("#x_ID_PACOTE").change(function(){

    if ( $(this).val() ) {
    $("#r_QTD_MAQ_PACOTE_PDV").hide(); // Questo é il tag <TR> della riga della tabella del form
    $("#r_TOT_MAQ_PDV").hide(); // Questo é il tag <TR> della riga della tabella del form
    $("#x_QTD_MAQ_PACOTE_ERP").val("1"); // Campo INPUT TEXT con valore di default 1
    $("#x_QTD_MAQ_PACOTE_PDV").val("0"); // Campo INPUT TEXT con valore di default 0
    }

    {

    if($("#x_MOD_GRADE").val()== "N" ) //<--- non mi popola il campo con il valore "N" o "S". Il valore N o S
    dipende dalla select ID_PACOTE. Questo campo é HIDDEN
    {

    $("#r_VALOR_MOD_GRADE").hide(); // Questo é il tag <TR> della riga della tabella del form
    } else {
    $("#r_VALOR_MOD_GRADE").show(); // Questo é il tag <TR> della riga della tabella del form. La riga conterrá un
    checkbox con il valore relativo ad uno specifico ID_PACOTE
    }
    }
    )};
    )}
    Il codice é ben piú lungo e complesso ma se risolvo questa passaggio non dovrei aver piú nessun problema.
    Spero che adesso sia tutto piú chiaro.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Prima di questa riga:
    codice:
    if($("#x_MOD_GRADE").val()== "N" )
    è presente una parentesi graffa aperta "{" che sembra non ci stia a fare niente là. Prova a verificare.

    PS: quando posti del codice sul forum è meglio utilizzare gli appositi tag di formattazione (vedi in fondo al regolamento di sezione).
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    13
    Sí ho visto, grazie, ma non é rilebante per il mio problema.

    Riformulo la domanda:

    Come si fa a leggere il dato del campo B, che deve essere scritto dentro un campo INPUT TEXT, da una SELECT dinamica popolata con i dati del campo A della stessa tabella?

    la funzione é

    $(document).ready(function(){

    $("campo_A").change(function(){

    ===> IN DEFINITIVA COSA DEVO SCRIVERE QUI?

    )};
    )};

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Perdonami ma non riesco ad afferrare cosa vuoi fare esattamente.
    Se devi semplicemente valorizzare un campo (che sia hidden o no, poco importa), con jQuery puoi usare la funzione val(). La stessa funzione, se non passi alcun argomento, ti serve per leggere il valore del campo stesso.

    Per cui al change, dell'elemento select, dovrai controllarne il suo valore (con la funzione val()) e impostare opportunamente gli altri tuoi campi. Non ho idea di come vuoi valorizzare questi campi e non ho capito quale relazione ci sia tra select, campo_A e campo_B.

    La tabella di cui parli è una tabella HTML o si tratta di un database?

    Puoi postare un link della pagina in questione?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    13
    Grazie per la pazienza.

    I campi sono di un database MySQL.
    Il metodo val( lo conoscao discretamente ma é proprio questa cosa che mi causa il problema.
    Basandomi su quello che dici

    "Per cui al change, dell'elemento select, dovrai controllarne il suo valore (con la funzione val()) e impostare opportunamente gli altri tuoi campi."

    Con la funzione val() leggo i campi dell'elemento SELECT e non succede nulla. Forse manca un passaggio e non ho idea di quale sia, per relazionare ogni voce della SELECT ad un altro campo.

    Non so come mandarti in privato un messaggio con la PSW per entrare nell'area do ve sto lavorando.

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Per i PM basta cliccare sul nick a sinistra di questa pagina e dal menù a tendina selezionare "Messaggio privato".
    Per il momento però vediamo se riusciamo a risolvere così.

    Proviamo ad andare per gradi.
    Quello che devi leggere è il val() dello stesso elemento select (per intenderci, non quello delle option).

    Ti posto un semplice esempio, completo, da cui puoi prendere spunto:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
          $(function(){
            $("#tuo_select").change(function(){
              var valoreSelect = $(this).val();
              var msg = "";
              switch(valoreSelect){
                case "bianco":
                msg = "Hai selezionato il Bianco";
                break;
                case "rosso":
                msg = "Hai scelto Rosso";
                break;
                case "giallo":
                msg = "Hai optato per il Giallo";
                break;
                case "verde":
                msg = "La tua scelta è Verde";
                break;
                default:
                msg = "Non hai selezionato nulla";
              }
              
              $("#altro_campo").val(msg);
          })
        })
        </script>
      </head>
      <body>
        <select id="tuo_select">
          <option value="" selected>Seleziona un colore</option>
          <option value="bianco">Bianco</option>
          <option value="rosso">Rosso</option>
          <option value="giallo">Giallo</option>
          <option value="verde">Verde</option>
        </select>
        <br>
        <input id="altro_campo">
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    13
    Grazie mille per il codice.

    Cercando in Google ho incontrato soluzioni simili MA i vari CASE possono essere popolati dinamicamente?

    E´l'esatto punto del mio problema.

    Se una voce viene aggiunta o tolta dal database tra i vari colori, devo mettere le mani al codice, giusto?

    Se si aggiunge il colore CELESTE, per esempio, il codice non si atualizza in automatico ed é esattamente quello che sto cercando di risolvere.
    Il CELESTE dovrebbe aggiungersi automaticamente ed in questo modo potró usarlo per leggere i relativi campi nel database.

    Dovrebbe esistere un modo in Javascript o JQuery.

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Tieni conto che quello è un semplice esempio ma puoi risolvere in tanti altri modi.

    Non capisco però quale sia la logica di funzionamento. Una volta che vai a selezionare un valore dal select cosa dovrebbe accadere esattamente?

    Puoi postare la parte HTML riguardante l'elemento select e i vari campi correlati, tra cui quelli hidden che hai menzionato nel primo post ma dei quali non ho capito quale dovrebbe essere la loro funzione?


    PS: quando posti il codice, usa i tag di formattazione come già suggerito.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.