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

    jquery come rilevare piu' informazioni da un click.

    Salve a tutti, sempre alle prese con qualche nuovo dubbio e alla ricerca di conoscere soluzioni per eventi jquery , avrei bisogno del vostro aiuto per questo piccolo esercizio.
    Ho delle celle costruite su table td, diciamo due per semplificare, una ha un indice 01, e l'altra indice 02
    ogni cella ha una classe univoca class="cella" internamente ha un link per l'evento.
    questo e' il codice.
    Codice PHP:
    <?php   
    echo "<table>";    
    echo 
    "<tr><td></td></tr>";   
    echo 
    "<tr>";      
    echo 
    '<td class="cella" id="01"><span class="fc-day">01</span>';   
    echo 
    '<p><a href="#"  title="scaduto"  class="btn btn-danger" > Scaduto </a></p>';   
    echo 
    '</td>';      
    echo 
    '<td class="cella" id="02"><span class="fc-day">02</span>';   
    echo 
    '<p><a href="#" title="attivo"  class="btn btn-default" > Prenotabile </a></p>';   
    echo 
    '</td>';
    echo 
    "</tr>";   
    echo 
    "</table>";
     
    ?>
    al click devo conoscere il numero di ID e sapere se <a href> selezionato e' scaduto o attivo dal'attributo title.
    la parte jquery funziona solo rilevando il nome dal title, cioe' scaduto o attivo, ma non riesco ad ottenere il numero id, mi da' sempre 01.
    codice:
     $(document).ready(function() {
                 $("a").click(function(event) {
                       var id = $("td.cella").attr("id");      
                            var target = this.title;
                 
                      alert(target + 'id '+ id) 
                  });
      });
    mi potete aiutare a capire dove sto sbagliando? devo conoscere quale id e' stato scelto!

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Quote Originariamente inviata da marcopa Visualizza il messaggio
    mi potete aiutare a capire dove sto sbagliando?

    Come no!

    Secondo te perché l'id che ti viene restituito è sempre il primo?
    Come leggi l'attributo id?
    E in che modo è legato al link sul quale hai cliccato?

    Spiega, istruzione per istruzione, e in modo più dettagliato che puoi, cosa succede al click di un link
    Ultima modifica di fcaldera; 16-06-2015 a 13:48
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Sbagli la (j)query:
    codice:
     var id = $("td.cella").attr("id");
    devi risalire alla cella partendo dal tag "a":
    codice:
    var anchor = $(this); // anchor è il tuo tag "a" (quello cliccato)
    var td= anchor.parents('.cella'); //questa è la cella "parent" (che contiene) il tag "a"
    var id=td.attr('id');
    oppure, in maniera meno verbosa:
    codice:
    var id=$(this).parents('.cella').attr('id');

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    grazie ragazzi, anche se non funziona l'esempio, mi restituisce undefined, ma non ho comunque capito.
    Probabilmente il problema e' nella costruzione della tabella.
    Codice PHP:
    echo '<td class="cella" id="01"><span class="fc-day">01</span>';   
    echo 
    '<p><a href="#"  title="scaduto"  class="btn btn-danger" > Scaduto </a></p>';   
    echo 
    '</td>' 
    la chiamata avviene dal click sulla classe di tutta la cella, al suo interno ho il link e' questo che mi
    sta creando problemi?

  5. #5
    Quote Originariamente inviata da marcopa Visualizza il messaggio
    la chiamata avviene dal click sulla classe di tutta la cella
    Scusa, l'evento non è associato ai tag "a"?
    codice:
     $(document).ready(function() {
                 $("a").click(function(event) {
                       ...
                  });
      });

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Si, scusami la svista, cercavo di capire se attivando alla classe cella avrei avuto piu' facilita' ma e' meglio la tua!
    Grazie.
    Per studiare jquery come mi consigli di iniziare? per questo esempio "risalire le celle" o comunque leggere concatenazioni
    cosa mi consigli?

  7. #7
    Quote Originariamente inviata da marcopa Visualizza il messaggio
    Si, scusami la svista, cercavo di capire se attivando alla classe cella avrei avuto piu' facilita' ma e' meglio la tua!
    Grazie.
    Per studiare jquery come mi consigli di iniziare? per questo esempio "risalire le celle" o comunque leggere concatenazioni
    cosa mi consigli?
    Ti consiglio di iniziare con il linguaggio nativo, Javascript.

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.