Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Deselezionare radio button

    Buongiorno a tutti...la mia domanda è molto semplice, vorrei poter deselezionare un radio button. Al primo click dovrebbe selezionarsi (ovviamente fino qui ci siamo) e al secondo click dovrebbe deselezionarsi.
    Come posso fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E usare i checkbox (spunta) sviluppati proprio per queste problematiche no? I radio essendo collezioni sarebbe più complesso dovrai ciclarli e capire quale valore è stato selezionato e con una serie di if selezionare/deselezionare
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Posso usare anche i checkbox non ho problemi...il fatto è che l'utente deve poter scegliere una sola opzione (per questo avevo scelto i radio).
    Come risolvo questo problema???

  4. #4
    Allora come ha detto il grandissimo CavicchiAndrea, la cosa migliore sarebbero delle checkbox al cui onchange controlla appunto che un'altra non sia stata già selezionata e nel caso la deselezioni in automatico...

    Altrimenti fai una cosa, all'onclick della Radio fai una funzione che appunto controlla se lo stesso è già stato selezionato e nel caso lo deseleziona.

  5. #5
    e tra l'altro se le radio vengono create col DOM, per farle funzionare con ie6 devi per forza creare una funzione che le selezioni sull'onclick...ma quello dipende dalle esigenze

  6. #6
    Non capisco assolutamente niente di js, ho cercato qualcosa del genere in rete ma non ho trovato niente...potreste darmi una mano???

  7. #7
    allora innanzitutto ad ogni Radio devi dare un ID univoco.
    poi devi dargli una proprietà onclick che richiami una funzione:

    Se le crei col DOM lo fai in questo modo:
    codice:
    radio.onclick = function(){ checkRadio(this.id); }
    altrimenti se le crei in HTML all'interno aggiungi questo:
    codice:
    onclick = "checkRadio("+this.id+")";
    e la funzione che richiami potresti crearla così:
    codice:
    function checkRadio(radioID)
    {
    	var oRadio = document.getElementById(radioID);
    	if(oRadio.checked == true){
    		oRadio.checked = false;	
    	}
    	else{
    		oRadio.checked = true;	
    	}
    }

  8. #8
    Ora ci provo....poi ti faccio sapere
    Grazie

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da Saretta883
    Posso usare anche i checkbox non ho problemi...il fatto è che l'utente deve poter scegliere una sola opzione (per questo avevo scelto i radio).
    Come risolvo questo problema???
    Ma fatico a seguirti se usi la spunta (se la seleziono mi interessa, altrimenti no.. ) se usi i radio significa che potresti avere più scelte (si, no, forse, può darsi) oltretutto con questa soluzione è poco intuitiva primo click seleziono secondo click deseleziono (essendo come già detto sviluppati per altro, l'utente medio non lo capirebbe)
    Comunque conteta te
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    webking2003 ho cercato di seguire le tue dritte ma non mi funziona!!!

    codice:
    <script type="text/javascript">
    		function checkRadio(radioID){
    			var oRadio = document.getElementById(radioID);
    			if(oRadio.checked == true){
    				oRadio.checked = false;	
    			}
    			else{
    				oRadio.checked = true;	
    			}
    		}
    </script>
    Questo è il codice che ho utilizzato per aggiungere la funzione all'interno della pagina php.
    Codice PHP:
    echo("<td align='center'><input name='ric' type='radio' value='$riga[1]' onclick='checkRadio('+this.id+');'/></td>"); 
    Questo è il codice che utilizzo per richiamare la funzione!!!
    Ma dove sbaglio???
    Non fa assolutamente niente

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.