Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    Jquery select option, un errore se messo in tabella.

    Salve ragazzi, ho un problema in una select option perchè inserita in una tabella dove nelle righe viene ripetuta per ogni riga, mi spiego meglio commentando il codice .
    Codice PHP:
               <td class="class-left"><?=date('d/m/Y',strtotime($events->start))?></td>
                 <td class="text-left">
                     <select name="istruttori"  id="istruttori"  class="form-control" onchange="GetIstruttore()" >
                           <option value=1>Franco </option>
                          <option value=2>Paola</option>
                          <option value=3>Luciano</option>
                      </select>
                     <div id="result"></div>
                 </td>
    la tabella ha un elenco di date e gli istruttori disponibili sono in una select option, deve essere scelto l'istruttore di turno, la prima riga risponde alla chiamata GetIstruttore correttamente, le altre righe mi danno sempre 0 come indice, questa che segue è la chiamata jquery
    codice:
    <script type="text/javascript">
          $(document).ready(function(){
              
          });
          
    function GetIstruttore()
       {        
           alert($('#istruttori').get(0).selectedIndex);
        }
     
    </script>
    come dicevo, solo la prima riga mi restituisce un alert corretto.
    potete darmi una mano? vedete quale potrebbe essere l'errore?

    Grazie.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, fondamenti di programmazione web: gli id devono essere univoci.

    Se il tuo id="istruttori" è ripetuto per ogni riga, l'errore sta proprio qui. Nel caso sarebbe meglio usare una "class".
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao, fondamenti di programmazione web: gli id devono essere univoci.

    Se il tuo id="istruttori" è ripetuto per ogni riga, l'errore sta proprio qui. Nel caso sarebbe meglio usare una "class".
    Ciao, ho provato ad utilizzare la classe al posto dell' id ma il risultato è sempre uguale, la prima riga della TABLE risponde le altre danno sempre indice 0.

    Domanda : tu per usare una "class" intendi questo?
    Codice PHP:
    <td class="text-left">
                     <
    select  class="istruttori" onchange="GetIstruttore()" >
                           <
    option value=1>Franco </option>
                           <
    option value=2>Paola</option>
                           <
    option value=3>Luciano</option>
                      </
    select>
                     <
    div id="result"></div>
                 </
    td
    codice:
    function GetIstruttore()
         {        
                 alert($('.istruttori').get(0).selectedIndex);
              }

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Chiaro, sbagli approccio, bisogna che gli passi un riferimento relativo a quell'elemento.

    Prova in questo modo:
    codice:
    <select  class="istruttori" onchange="GetIstruttore(this)" >
    codice:
    function GetIstruttore(me){        
         alert(me.selectedIndex);
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Ecco, fastidioso non aver pensato al riferimento di ogni elemento, stavo pensando di creare un indice di ogni singolo, ma avrei avuto poi due indici inutilmente.
    Grazie, funziona perfettamente.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    codice:
    function GetIstruttore(me, id){        
                   
                   alert(me);
                   alert(id);
                
        
                                $.ajax({
                                        type: "POST",
                                            url: "<?php echo site_url('app/chg_istruttore');?>",
                                            data: "istruttore=" + me + "&evento=" + id,
    
                                            success: function(msg)
                                               {
                                                    //alert(msg);
                                                },
                                                error: function() { alert("Chiamata fallita, si prega di riprovare..."); }
                                       })
                            };
    Ultima modifica di marcopa; 17-12-2021 a 23:56 Motivo: mancava lo script

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ultima modifica di marcopa; Oggi a 22:56 Motivo: mancava lo script
    Però hai cancellato il messaggio della richiesta
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Killerworm, scusa ho un problema al pc dove stavo lavorando, ho il bkp del giorno precedente, dovrò rifare tutto !!!!!
    Però grazie a te ho capito dove sbagliavo.
    Grazie.

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Figurati, spero tu riesca a risolvere.
    Buon proseguimento
    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.