Avec HTML, une case à cocher est créée comme ceci:
<form>
<input type="checkbox" id="category1">Category1<br>
</form>
Avec javascript, nous pouvons cocher la case comme ceci:
$("#category1")[0].checked = true
Maintenant, j'essaie de créer la même page avec jquery-mobile. La case à cocher ressemble à ceci:
<form>
<label>
<input name="checkbox-0 " type="checkbox">Check me
</label>
</form>
Pourquoi n'y a-t-il pas de id
ici? Est-ce que le nom est id
? Devrais-je supprimer le nom de l'attribut et en créer un avec le nom id
?
Comment puis-je cocher cette case ici avec Javascript/jQuery?
J'ai essayé le code ci-dessus, mais cela ne semble pas fonctionner pour cette case à cocher.
Vous devez l'actualiser après avoir changé son '.prop
, à l'aide de .checkboxradio('refresh')
. C’est la bonne façon de vérifier les cases à cocher/radio dans jQuery Mobile.
$('.selector').prop('checked', true).checkboxradio('refresh');
Référence: API jQuery Mobile
Tu peux faire:
$('input[name="checkbox-0"]').prop("checked", true).checkboxradio('refresh'); //sets the checkbox
var isChecked = $('input[name="checkbox-0"]').prop("checked"); //gets the status
Directement à partir de docs jQ Mobile :
$("input[type='checkbox']").attr("checked",true);