2013-06-10 17 views
17

Con HTML una casella di controllo si crea in questo modo:Come controllare "checkbox" dinamicamente - jQuery Mobile

<form> 
    <input type="checkbox" id="category1">Category1<br> 
</form> 

con JavaScript possiamo controllare la casella di controllo in questo modo:

$("#category1")[0].checked = true 

Ora sto cercando per creare la stessa pagina con jquery-mobile. La casella di controllo è simile al seguente:

<form> 
    <label> 
     <input name="checkbox-0 " type="checkbox">Check me 
    </label> 
</form> 

Perché non c'è id qui? Il nome è id? Devo cancellare il nome dell'attributo e crearne uno con il nome id?

Come posso selezionare questa casella di controllo qui con Javascript/jQuery?

Ho provato il codice sopra, ma non sembra funzionare per questa casella di controllo.

+0

per JS controllare sempre [API jQuery Mobile] (http://api.jquerymobile.com/checkboxradio/#method-refresh). – Omar

+0

Dai un'occhiata a questo: http://stackoverflow.com/questions/11138898/check-if-a-jquery-mobile-checkbox-is-checked Hai seguito la documentazione appropriata e tutte le altre domande relative a questo tipo di argomento? –

+0

Ho controllato i documenti. Ero in questa pagina: http://view.jquerymobile.com/1.3.1/dist/demos/widgets/checkbox/. Non c'è niente lì su javascript. Solo la parte mobile jquery. –

risposta

50

è necessario aggiornare esso dopo aver cambiato il suo .prop, utilizzando .checkboxradio('refresh'). Questo è il modo corretto per controllare checkbox/radio in jQuery Mobile.

Demo

$('.selector').prop('checked', true).checkboxradio('refresh'); 

Riferimento: jQuery Mobile API

+1

Risposta perfetta come sempre Omar. Grazie mille signore. –

+0

@JonhSmid Grazie e buon amico :) – Omar

+0

@Omar grazie mille .. –

3

si può fare:

$('input[name="checkbox-0"]').prop("checked", true).checkboxradio('refresh'); //sets the checkbox 
var isChecked = $('input[name="checkbox-0"]').prop("checked"); //gets the status 
+0

se ho dato un id alla casella di controllo sarebbe corretto: $ (# id_name) .prop ("checked", true); ? –

+0

Sì, non dimenticare le virgolette nel selettore '$ (" # id_name "). Prop (" checked ", true);' – tymeJV

+3

non funziona senza .checkboxradio ('refresh'); –

Problemi correlati