Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    142

    [jquery] checked non funziona

    Ciao a tutti
    ho questo codice che prima deve deselezionare tutte le checkbox e poi selezionare solo quella sulla quale clicco:

    $('[id*="rbModalitaPagamento"]').on("click", function(event){
    $('[id*="rbModalitaPagamento"]').attr('checked', false);
    $(this).attr('checked', true);
    });

    Le deseleziona tutte, ma non seleziona quella su cui clicco. Mente se faccio il contrario funziona:
    $('[id*="rbModalitaPagamento"]').on("click", function(event){
    $('[id*="rbModalitaPagamento"]').attr('checked', true);
    $(this).attr('checked', false);
    });

    Questo è un codice che utilizzo in un altro sito. L'unica differenza è la versione di jquery. Con l'ultima non funziona.
    Perchè?
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Non saprei, ho fatto una prova e a me funziona:

    codice:
     <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    
    <script type="text/javascript">
    $(document).ready(function(){
    
    $('input[type="checkbox"]').click(function(){
    
    $('input[type="checkbox"]').attr('checked', false); 
    $(this).attr('checked', true); 
    });
    
    });
    </script>
    
    
    <input type="checkbox" value="" checked> 
    <input type="checkbox" value="" checked> 
    <input type="checkbox" value="" checked> 
    <input type="checkbox" value="" checked>
    L'unica cosa di diverso è che io uso la funzione "click" mentre tu la funzione "on"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    142
    Conferma che è un problema di versione.
    Ho provato con jquery-1.7.1.min e funziona, mentre con jquery-1.9.0.min non và

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da dontesse
    Conferma che è un problema di versione.
    Ho provato con jquery-1.7.1.min e funziona, mentre con jquery-1.9.0.min non và
    non è un problema di versione: nelle release più recenti (1.6+) è consigliato usare prop() invece di attr() quando si assegna o si ritorna lo stato di una checkbox.
    Vuoi aiutare la riforestazione responsabile?

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    142
    quindi non devo più utilizzare attr ma prop?
    E al posto di attr('checked') utilizzare is(':checked')?
    Grazie

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da dontesse
    E al posto di attr('checked') utilizzare is(':checked')?
    Grazie
    sì, is(':checked') va bene

    per ulteriore riferimenti:

    http://api.jquery.com/prop/
    http://stackoverflow.com/questions/5874652/prop-vs-attr
    Vuoi aiutare la riforestazione responsabile?

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

  7. #7
    Ma se deve essere selezionata solo un'opzione tra le molte possibili non andrebbe usato un radiobutton invece di una checkbox ? Anche per coerenza con quelle che sono le regole con cui generalmente viene disegnata l'interfaccia grafica

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    142
    ho sbagliato a scrivere
    sono delle radiobutton

  9. #9
    Ciao,
    io utilizzo la versione 1.8.3 di jquery e agisco sui checkbox utilizzando il metodo prop

    $('#checkbox').prop('checked',false);
    oppure
    $('#checkbox').prop('checked',true);

    e per controllare lo stato del checkbox utilizzo

    $('#checkbox').is('checked')

    Saluti

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.