2012-07-25 17 views
20

Utilizzando la funzione buttonset di JQ-uiDeseleziona tutte le radio buttonset JQuery subito

<script> 
    $(function() { 
     $("#radio").buttonset(); 
    }); 
    </script> 


    <div id="radio"> 
     <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label> 
     <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
     <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
    </div> 

Esiste un modo per deselezionare tutti i pulsanti di opzione di buttonset in una volta?

+0

dovrebbe '$ ("#radio")' essere invece '$ ("radio")'? – fcalderan

+1

@Dev hai mai usato jQ-UI? – heron

risposta

31

È possibile deselezionare le loro con la seguente (aggiornato per jQuery UI 1.9:..

$('#radio input').removeAttr('checked'); 
// Refresh the jQuery UI buttonset.     
$("#radio").buttonset('refresh'); 
​ 

Lavorare JSFiddle

+0

Bello. La risposta continua a diventare più breve. :) – albertjan

+0

Quel violino non sembra girare con successo i pulsanti radio in un set di pulsanti dell'interfaccia utente jQuery, motivo per cui sembra funzionare. Non è proprio vero, Frédéric ha ragione a dover fare il refresh. –

+0

Questo non funziona in jQuery 1.9 e non influenza i pulsanti di interfaccia utente jQuery. la risposta qui sotto è la risposta migliore. – CoryDorning

15

È possibile abbinare tutti i pulsanti di opzione e utilizzare prop() di deselezionare loro

Tuttavia, è necessario aggiornare il widget pulsanti dopo averlo fatto:

$("#radio").find("input:radio").prop("checked", false).end() 
      .buttonset("refresh"); 
+0

Questo è buono !!! – karancan

13

Prima jQuery versione 1.6

$(':radio').attr('checked', false); 

O

$(':radio').removeAttr('checked'); 

Dopo jQuery 1.6+

$(':radio').prop('checked', false); 

O

$(':radio').removeProp('checked'); 
1

Scoperto per errore ... con jQuery 1.9.1 utilizzando un nome di classe per il pulsante lasciato tutti i pulsanti inizialmente disinseriti. Non ancora sicuro se ci sono delle ramificazioni a questo, ma a portata di mano per sapere.

$("div.myclass").buttonset(); 

<div id="myDiv" class="myclass"> 
    <input type="radio" name="myname" id="id1" value="1"><label for="id1">Label1</label> 
    <input type="radio" name="myname" id="id2" value="2"><label for="id2">Label2</label> 
    <input type="radio" name="myname" id="id3" value="3"><label for="id3">Label2</label> 
</div> 
Problemi correlati