Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Checkbox in una cella

  1. #1

    Checkbox in una cella

    Ho un form con alcuni checkbox, contenuti ciascuno all'interno di una cella di una tabella.
    Vorrei fare in modo che cliccando sull'intera area della cella si selezioni o deselezioni il checkbox.
    Piuttosto semplice, infatti come ho fatto io, funziona.
    Il problema pero' sorge se clicco proprio sul checkbox, perche' il browser ne inverte lo stato e poi il mio scriptino lo re-inverte, col risultato che il checkbox non cambia il suo stato.
    Come posso fare???
    All work and no play makes EricFlat a dull boy

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Due righe di codice? tanto per non rischiare di reinventarcele diverse dalle tue...

    ciao
    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
    function clickCell (what) {
    myElement = document.getElementById(what);

    if (myElement.checked == false) {
    myElement.checked = true;
    }
    else if (myElement.checked == true) {
    myElement.checked = false;
    }
    }

    Niente di trascendentale come vedi...
    All work and no play makes EricFlat a dull boy

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da EricFlat
    function clickCell (what) {
    myElement = document.getElementById(what);

    if (myElement.checked == false) {
    myElement.checked = true;
    }
    else if (myElement.checked == true) {
    myElement.checked = false;
    }
    }

    Niente di trascendentale come vedi...
    E come richiami la funzione?

    ciao
    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
    Ah scusa...

    <td onclick="....

    All work and no play makes EricFlat a dull boy

  6. #6
    Ah, "what" e' l'id del checkbox corrispondente ad una determinata cella...
    All work and no play makes EricFlat a dull boy

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    devi catturare l' evento che risale il flow e discernere se proviene direttamente dal td
    codice:
    function setCheckbox(e,idx){
    	var el=document.getElementById(idx);
    	if(!e) e=window.event;
    	var source=(e.target)?e.target:e.srcElement;
    	if(source.tagName=='TD'){
    		el.checked=!el.checked;
    	}
    }
    codice:
    <td onclick="setCheckbox(event,'id_checkbox')">
    ciao

  8. #8
    Funziona, grande!!!

    Grazie!!!
    All work and no play makes EricFlat a dull boy

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.