Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [jQuery] addClass e removeClass

    Ciao.
    Ho due liste non ordinate, cliccando su una voce di sinistra la stessa viene tolta ed inserita nella lista di destra. E viceversa.
    Per individuare se l'elemento della lista è a destra o a sinistra, gli setto un classe.
    Grazie a jQuery, in base a quale elemento clicco, mi sposta a destra o a sinistra.
    Il problema è che una volta che un elemento es. da sinistra viene spostato a destra, nonostante gli venga cambiata la classe, da destra lo stesso non si sposta nuovamente a sinistra se viene clicckato.
    Un po' di codice:
    Codice PHP:
    //rimuove da sx e aggiunge a dx
            
    $("li.da_inserire").click(function(){
                
    //var id_da_inserire = $(this).attr("id");
                //alert($(this).attr("class"));
                
    $(this)
                .
    addClass("da_cancellare")
                .
    removeClass("da_inserire")
                .
    appendTo('#lista_right');
            });
            
            
    //rimuove da dx e aggiunge a sx
            
    $("li.da_cancellare").click(function(){
                
    //var id_da_cancellare = $(this).attr("id");
                //alert($(this).attr("class"));
                
    $(this)
                .
    addClass("da_inserire")
                .
    removeClass("da_cancellare")
                .
    appendTo('#lista_left');
            }); 
    Verificando con Firebug, dopo che un elemento li è stato spostato, gli viene rimossa correttamente la classe che aveva in partenza e settata la nuova classe. In questo caso, avendo la nuova classe, dovrebbe se clicckato eseguire il codice connesso alla nuova classe.
    Ciò però non avviene
    Idee?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova ad usare il metodo live di jquery

  3. #3
    Grazie Vindav, funziona alla grande
    Di seguito il codice modificato funzionante:
    Codice PHP:
    //rimuove da sx e aggiunge a dx 
            
    $("li.da_inserire").live('click', function(){ 
                
    //var id_da_inserire = $(this).attr("id"); 
                //alert($(this).attr("class")); 
                
    $(this
                .
    addClass("da_cancellare"
                .
    removeClass("da_inserire"
                .
    appendTo('#lista_right'); 
            }); 
             
            
    //rimuove da dx e aggiunge a sx 
            
    $("li.da_cancellare").live('click', function(){ 
                
    //var id_da_cancellare = $(this).attr("id"); 
                //alert($(this).attr("class")); 
                
    $(this
                .
    addClass("da_inserire"
                .
    removeClass("da_cancellare"
                .
    appendTo('#lista_left'); 
            }); 

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.