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

    [jQuery] click su diversi checkbox

    Dal titolo non si capisce niente, mi rendo conto... ma non sapevo come spiegarlo in poche parole!

    Il problema è questo:
    ho una decina di checkbox "dinamiche" (in fase di caricamento pagina, alcune possono essere checked e altre unchecked indifferentemente)
    quando si clicca su una checkbox, se questa diventa checked parte una funzione (con argomento true) se invece diventa not checked parte la stessa funzione (con argomento false)
    E fino a qui ci sono

    Adesso cambio di programma: voglio che solo una checkbox possa essere checked. Quindi al checked di una, devono risultare unchecked tutte le altre.
    Quindi (forse) devo far partire la funzione di cui prima (con argomento false) su tutte le checkbox tranne quella selezionata

    E, prima o dopo, rendere tutte unchecked tranne quella selezionata
    Per quest'ultima parte ci sono:
    Codice PHP:
    $("input[name='checkboxname[]'][id!='checkbox"+id+"']").attr("checked",false); 
    E adesso come faccio a far partire le funzioni relative ad ogni singolo checkbox?
    Premetto che la funzione ha due argomenti: id e il true/false di cui sopra

    mmm... non sono sicuro di aver spiegato bene...

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Ti posto una possibile idea

    codice:
    <!DOCTYPE>
    <html>
    <head>
     
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css" type="text/css" media="all" />
     
    <script>
    $(function () {  // documento ready
    
    	$(":checkbox").bind("click",function(){
    		
    		$(":checkbox:not(#" + this.id +")").attr("checked",false);
    		
    		$(":checkbox").each(function () {
         		var id = this.id;
    			alert("Call function for ID=" + id + " and status = " + $("#" +id).attr("checked") + "" );
    		});
    		
    	});
    });
    </script>
     
    </head>
     
    <body>
    
    <input type="checkbox" id="aa" />
    
    <input type="checkbox" id="bb" />
    
    <input type="checkbox" id="cc" />
    
     
    </body>
    </html>


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    si, alla fine c'ero riuscito con un codice molto simile al tuo (probabilmente piu "terra-terra"):
    dentro al bind ho messo
    Codice PHP:
    $("input[id^='pippo'][id!='pippo"+id+"']").attr("checked",false); 


    Grazie comunque

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.