2010-06-25 9 views
5

Ho due pulsanti di opzione con lo stesso nome, uno è selezionato per impostazione predefinita. Come puoi selezionare o deselezionare un pulsante di opzione in jQuery quando selezioni da id?Impostare il pulsante di opzione 'checked' in jquery in base all'ID

ho provato:

$('#radio1').attr('checked','checked'); 
$('#radio1').attr('checked', true); 

Niente sembra funzionare .. tutte le idee?

Grazie!

+0

Inoltre, usa $ (selector) .prop ("checked", true) per> = Jquery 1.6 – danwild

risposta

14

Non è possibile avere lo stesso ID (#radio1) più volte, utilizzare invece class.

$('.radio1').attr('checked', true); 
$('.radio2').attr('checked', true); 

Il id deve essere utilizzato una volta per ogni elemento per pagina.

Se si desidera selezionare/deselezionare il click tuttavia, si può fare come:

$('#someid').click(function(){ 
    $('#radio1').attr('checked', true); 
}); 

O

$('#someid').click(function(){ 
    $('#radio1').attr('checked', this.checked); 
}); 
+0

Dave sta dicendo ** stesso nome **, non lo stesso id –

+0

@Filippo, Dave non sa quale sia l'id, nome e non vede la differenza tra loro. –

7

Se avete le radio come:

<input type="radio" id="radio1" name="same-radio-name" /> 
<input type="radio" id="radio2" name="same-radio-name" /> 

Così , per controllare il secondo e deseleziona il primo:

$('#radio2').attr('checked', true); 

Viceversa:

Solo un altro pensiero, stai usando la radio come un pulsante JQuery UI? Se è così si potrebbe anche essere necessario aggiornare le cose come:

$('#radio1').attr('checked', true).button("refresh"); 
+2

Un downvote senza spiegazione non è molto costruttivo ... –

-1

Beh, se si desidera ottenere un valore dalla radio di ingresso per caricare questo valore dal database si può provare con questo semplice codice:

var selValue = $('input[name=rbnNumber]:checked').val(); 

Dove si inserisce il nome della variabile "selValue" e all'interno di questo si specifica il nome del gruppo radio "rbnNumber". Tutto questo all'interno della funzione che hai lavorato e fatto.