Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    25

    Checkbox e spunta condizionata

    Salve, premetto che sono un po' scarso in Javascript.
    Stavo provando a fare una funzione che sul cambiamento di stato (checked e unchecked) di un generico checkbox automaticamente mi cambi lo stato anche in tutti gli altri checkbox aventi la stessa classe di questo. Ho buttato giù queste righe ma niente:

    function check_change(classe)
    {

    if(document.getElementsByClassName(classe).checked ==true)
    document.getElementsByClassName(classe).checked = false;
    else
    document.getElementsByClassName(classe).checked =true;
    }
    Tale funzione viene richiamata con un OnChange su tutti i checkbox presenti che hanno una classe dinamica

    <input onChange="javascript:check_change('<?php echo "sub".$sub_incontro;?>');"type="checkbox" class="<?php echo "sub".$sub_incontro;?>" name="spareggio[<?php echo $n_incontro;?>]" value="1" <?php if($spa==1) echo "CHECKED";?> >
    Potreste aiutarmi a risolvere il problema? Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mi sembra ci sia un difetto di logica... se lo stato di tutti i checkbox deve essere identico e tutti determinano il cambiamento, a che scopo mettere tanti checkbox se ne basta uno?

    Degli errori logici e di sintassi del tuo codice parliamo magari dopo...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    25
    Quote Originariamente inviata da br1 Visualizza il messaggio
    Mi sembra ci sia un difetto di logica... se lo stato di tutti i checkbox deve essere identico e tutti determinano il cambiamento, a che scopo mettere tanti checkbox se ne basta uno?

    Degli errori logici e di sintassi del tuo codice parliamo magari dopo...
    No in pratica avrò una serie di checkbox uno sotto l'altro raggruppati a gruppi (in base alla variabile $sub_incontro che darà anche il nome alla classe). Quando io seleziono o deseleziono un checkbox, vorrei che cambiassero stato anche gli altri checkbox appartenenti allo stesso $sub_incontro e quindi aventi stessa classe.

    In questo esempio ci sono 3 gruppi. Se io per esempio deseleziono il secondo checkbox vorrei che si deselezionasse anche il primo in quanto appartiene allo stesso gruppo (stessa classe).
    Oppure se selezionassi il 4° vorrei che si selezionassero automaticamente anche il 3° e il 5° in quanto appartenenti allo stesso gruppo.

    [x] sub_1
    [x] sub_1
    [] sub_2
    [] sub_2
    [] sub_2
    [] sub_3
    [] sub_3

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quote Originariamente inviata da Mr Ball Visualizza il messaggio
    No in pratica avrò una serie di checkbox uno sotto l'altro raggruppati a gruppi (in base alla variabile $sub_incontro che darà anche il nome alla classe). Quando io seleziono o deseleziono un checkbox, vorrei che cambiassero stato anche gli altri checkbox appartenenti allo stesso $sub_incontro e quindi aventi stessa classe.

    In questo esempio ci sono 3 gruppi. Se io per esempio deseleziono il secondo checkbox vorrei che si deselezionasse anche il primo in quanto appartiene allo stesso gruppo (stessa classe).
    Oppure se selezionassi il 4° vorrei che si selezionassero automaticamente anche il 3° e il 5° in quanto appartenenti allo stesso gruppo.

    [x] sub_1
    [x] sub_1
    [] sub_2
    [] sub_2
    [] sub_2
    [] sub_3
    [] sub_3
    Che poi e' quello che ho detto io...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    25
    No, tu hai detto "se lo stato di tutti i checkbox deve essere identico e tutti determinano il cambiamento, a che scopo mettere tanti checkbox se ne basta uno?"
    Io ti ho risposto che lo stato non deve essere modificato AUTOMATICAMENTE a TUTTI i checkbox, ma solo a quelli aventi la stessa classe di quello che sto modificando in modo tale che andrò a modificare nel database un campo solo in quelle righe in cui si avrà lo stesso $sub_incontro.





  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa, leggi la mia affermazione cosi'

    se lo stato di tutti i checkbox DI UNO STESSO GRUPPO deve essere identico e tutti determinano il cambiamento DEL GRUPPO, a che scopo mettere tanti checkbox se ne basta uno PER GRUPPO

    Blocco 1 <checkbox unico 1>
    Blocco 2 <checkbox unico 2>
    Blocco 3 <checkbox unico 3>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    25
    In questo screen si dovrebbe capire meglio ciò che vorrei realizzare:
    I vari gruppi sono evidenziati dai colori, in questo caso abbiamo le prime 4 righe che appartengono al gruppo #1 e sono tutti selezionati. Se io ne deselezionassi uno a caso di questi 4, vorrei che si deselezionassero automaticamente anche gli altri 3. Stessa cosa per gli altri gruppi, se ad esempio selezionassi una riga appartenente al gruppo #2 vorrei che si selezionassero anche gli altri 3 appartenenti allo stesso gruppo #2.

    screen.gif

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    25
    Ho capito che vuoi dire, ma preferirei tenerne uno per ogni riga

  9. #9
    Utente di HTML.it L'avatar di MiWebDesign
    Registrato dal
    Sep 2015
    residenza
    Palermo
    Messaggi
    38
    Ciao Mr Ball,

    ecco lo snippet per fare ciò che ti serve:

    codice:
    $("input[type='checkbox']").each(function(){
      $(this).click(function(){
        var c = $(this).attr("class");
        if($(this).is(":checked")){
         $("."+c).attr("checked",true);
        }else{
           $("."+c).attr("checked",false);
        }
      })
    })
    Provalo sul mio codepen: How to checked all checkbox of any class dinamically with jQuery

    Ciao zio
    Creazione e Realizzazione di Siti Web di Mi Web Design

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    @MiWeb funziona solo al primo tentativo, se seleziono un gruppo poi lo deseleziono non funziona più, inoltre potrebbe essere utile una soluzione in "puro" javascript senza jquery.


    bella nipote
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.