2013-06-10 7 views
17

z HTML pole wyboru jest tworzony tak:Jak sprawdzić "checkbox" dynamicznie - jQuery Komórka

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

Z javascript możemy zaznaczyć pole wyboru takiego:

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

Teraz próbuję aby utworzyć tę samą stronę z jquery-mobile. Pole wyboru wygląda następująco:

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

Dlaczego nie ma tu żadnego id? Czy nazwa to id? Czy mogę usunąć nazwę atrybutu i utworzyć nazwę o nazwie id?

Jak mogę zaznaczyć to pole wyboru tutaj z Javascript/jQuery?

Próbowałem powyższego kodu, ale nie wydaje się działać dla tego pola wyboru.

+0

dla JS zawsze sprawdzić [jQuery Mobile API] (http://api.jquerymobile.com/checkboxradio/#method-refresh). – Omar

+0

Sprawdź to: http://stackoverflow.com/questions/11138898/check-if-a-jquery-mobile-checkbox-is-checked Czy poszły przez odpowiednie dokumenty i wszystkie inne pytania związane z tego rodzaju tematem? –

+0

I DID sprawdzić dokumenty. Byłem na tej stronie: http://view.jquerymobile.com/1.3.1/dist/demos/widgets/checkbox/. Nic nie ma o javascript. Tylko część mobilna jquery. –

Odpowiedz

50

Trzeba odświeżyć go po zmianie jego .prop korzystając .checkboxradio('refresh'). Jest to poprawny sposób sprawdzania checkbox/radio w jQuery Mobile.

Demo

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

referencyjny: jQuery Mobile API

+1

Doskonała odpowiedź jak zawsze Omar. Dziękuję Panu bardzo. –

+0

@JonhSmid Dziękuję i spokojnie:) – Omar

+0

@Omar dziękuję bardzo .. –

3

można zrobić:

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

jeśli nadałem identyfikator checkboxowi, to byłoby poprawne: $ (# id_name) .prop ("checked", true); ? –

+0

Tak, nie zapomnij cytatów w selektorze '$ (" # id_name "). Prop (" sprawdzone ", prawda);' – tymeJV

+3

to nie działa bez .checkboxradio ("odśwież"); –