2013-01-18 11 views
9

non riesco a controllare una serie di caselle di controllo programmatico con jQuery Mobile, ho il seguente codice:Controllo e radiofoniche deselezionando pulsanti con jQuery Mobile

<div data-role="fieldcontain" id="div_radio" class="radiogroup"> 
    <fieldset data-role="controlgroup"> 
     <input type="radio" name="radio-pieces" id="radio-choice-1" value="3" checked="checked" /> 
     <label for="radio-choice-1">1 to 3</label> 

     <input type="radio" name="radio-pieces" id="radio-choice-2" value="5" /> 
     <label for="radio-choice-2">4 to 5</label> 

     <input type="radio" name="radio-pieces" id="radio-choice-3" value="6" /> 
     <label for="radio-choice-3">over 5</label> 
    </fieldset> 
</div> 

Se lo faccio: $("input[type='radio']:last").attr("checked",true).checkboxradio("refresh"); tutto funziona perfetto, ma nessuno di questo lavoro a tutti:

$("input[type='radio']:first").attr("checked",true).checkboxradio("refresh"); 
$("input[type='radio']:eq(0)").attr("checked",true).checkboxradio("refresh"); 
$("input[type='radio']:eq(1)").attr("checked",true).checkboxradio("refresh"); 
$("input[type='radio']:eq(2)").attr("checked",true).checkboxradio("refresh"); 

Come posso correttamente manipolare questi elementi? Deselezionando tutte le caselle funziona anche:

$("input[type='radio']").attr("checked",false).checkboxradio("refresh"); 

Sembra che l'unica casella di controllo sia l'ultima.

+0

Qualsiasi aiuto? per favore –

risposta

22

Tutti funzionano perfettamente. Hai solo bisogno di attivare refresh su tutti input radio nel gruppo.

$("input[type='radio']:first").attr("checked", "checked"); 
$("input[type='radio']").checkboxradio("refresh"); 

jsFiddle è here.

+0

E 'stato così !!!! Ho dovuto ricaricare tutta la radio in ingresso nel gruppo !!! Molte grazie!!! –

0

Questo non sembra giusto. La citazione singola non è necessaria input [tipo = radio] è corretta. Sto usando una versione non aggiornata (1.1.1). Sarebbe d'aiuto sapere quale versione stai usando.

Ricordare che si tratta di pulsanti di opzione, solo uno selezionato alla volta.

0

nel pulsante di telefonia mobile Jquery aggiornare in questo modo:

$(".iscfieldset input[type='radio']:first").attr("checked", "checked"); 


    $(".iscfieldset input[type='radio']").checkboxradio().checkboxradio("refresh"); 

provare questo lavorando bene per me

4

niente ha funzionato per me, tranne:

$('#reset').click(function(){ 
    $('#Store').trigger("click").trigger("click"); // yes... twice 
}); 

Su jQuery Mobile 1.4.2.

1

Per me funziona questo per deselezionare tutto il gruppo di radio:

$(".my_class").removeAttr("checked"); 
$(".my_class").checkboxradio("refresh");