Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662

    due checkbox, almeno uno selezionato

    Ciao a tutti... (ricerca su internet fallita).

    Sapreste dirmi come posso fare in modo che avendo due checkbox almeno uno mi rimanga selezionato?

    in partenza ho tutti e due selezionnati (m,f),
    deseleziono m,
    provo a deselezionare f ma non me lo deve poter far fare.

    Se riseleziono m, allora posso deselezionare f, ma se una volta deselezionato f provo a deselezionare m non me lo deve poter far fare.
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova cosi:

    codice:
    <input type="checkbox" id="check1" checked onClick="checkUncheck(this);">
    <input type="checkbox" id="check2" checked onClick="checkUncheck(this);">
    codice:
    function checkUncheck(param) { 
    	var check1 = document.getElementById('check1');
    	var check2 = document.getElementById('check2');
    	if(check1.checked && check2.checked) return true;
    	else param.checked = !param.checked;
    }

  3. #3
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    restano "checkati" tutti e due, bloccati.
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    si scusami errore mio, sostituisci questo:

    codice:
    if(check1.checked && check2.checked)
    con questo:

    codice:
    if(check1.checked || check2.checked)

  5. #5
    mah vedi un po' questo se fa al caso tuo:

    codice:
    <input type="checkbox" id="a" checked="checked" onClick="toggleclick(this);">
    <input type="checkbox" id="b" checked="checked" onClick="toggleclick(this);">
    
    <script>
    function toggleclick(obj) {//presume gli id siano: 'a' e 'b'
    var obj2=(obj.id=='a')?document.getElementById('b'):document.getElementById('a');
    obj.checked=(obj.checked!=!obj2.checked)?true:false;
    }
    </script>

  6. #6
    Utente di HTML.it L'avatar di bANART
    Registrato dal
    Jul 2005
    Messaggi
    662
    Grandioso,
    funziona alla grande!
    Grazie mille

    TrueLies grazie anche a te per l'aiuto.
    Matteo Coletta - fotografia
    Fotografo Lanciano - Fotografia a Lanciano e Pescara

  7. #7
    Ora che ci penso, sarebbe possibile astrarre del tutto dagli id assegnati, a patto che nell' html gli elementi input siano contigui ovvero NON separati da altri tag e che siano solo due:

    codice:
    function toggleclick(obj) {
    var obj2=(obj.nextElementSibling.nodeName=="INPUT")? obj.nextElementSibling:obj.previousElementSibling;
    obj.checked=(obj.checked!=!obj2.checked)?true:false;
    }
    nextElementSibling si distingue da nextSibling in quanto non prende il primo nodo successivo, ma solo il primo nodo successivo che sia anche un tag html (e non un nodo di testo, ad esempio). E' implementato dall' ultimo Explorer e da Firefox dal 3.5 in su.

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