Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Selezione elementi

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268

    Selezione elementi

    Ciao a tutti, leggendo i dati da un db creo una lista di nomi , successivamente vorrei che cliccando su un nome mi restituisca il valore del testo. Il codice:
    codice:
    for(var i in data){ 
                 reparto = data[i];
                 $('#elenco ul').append('<li class="list-group-item">'+reparto[1]+'</li>');
                
              }
          } 
        });
        
        $('#elenco li').click(function() {
            alert( $(this).text() );
            
        });
    però se clicco su un elemento della lista non succede niente, se invece creo un elemento della lista nel codice html allora riesco a selezionarlo. Qualche idea?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando setti il click quell' elemento non esiste ancora, quindi il gestore evento non puo' essere settato

    ti serve delegare, con .live o, per versioni di jquery piu' recenti (1.7+), .on
    praticamente invece di
    $('#elenco li').click(function() {
    puoi scrivere
    $('#elenco').on('click','li',function() {

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    perfetto grazie
    P.s. come si mette risolto nel titolo?

  4. #4
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da X-mac Visualizza il messaggio
    perfetto grazie
    P.s. come si mette risolto nel titolo?
    Ho notato che non si usa :P

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Quote Originariamente inviata da Xinod Visualizza il messaggio
    quando setti il click quell' elemento non esiste ancora, quindi il gestore evento non puo' essere settato

    ti serve delegare, con .live o, per versioni di jquery piu' recenti (1.7+), .on
    praticamente invece di
    $('#elenco li').click(function() {
    puoi scrivere
    $('#elenco').on('click','li',function() {

    ciao
    MA $('#elenco li').click(function() { non è una shortcut al metodo .on ?

    This method is a shortcut for .on( "click", handler ) in the first two variations, and .trigger( "click" ) in the third. The click event is sent to an element when the mouse pointer is over the element, and the mouse button is pressed and released. Any HTML element can receive this event. For example, consider the HTML:

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    no sono due eventi differenti

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Quote Originariamente inviata da X-mac Visualizza il messaggio
    no sono due eventi differenti
    Ma nella guida c'è scritto "This method is a shortcut for .on( "click", handler )"

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    La differenza (come ha precisato Xinod) e che .click() lo puoi usare solo se gli oggetti sono presenti al caricamento della pagina .on() puoi usarlo anche se l'oggetto sarà generato un secondo momento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.