J'ai quelques cases à cocher. Je définis et réinitialise les valeurs par défaut des cases à cocher avec la fonction .prop(), basée sur une réponse JSON (chargement des données via des requêtes ajax). Le problème est que, apparemment, ils ne changent pas ce comportement, si je les change manuellement. Je ne peux pas passer la valeur des cases à cocher via $ ('# checkbox: checked'). Val(), un journal de console dit 'non défini'. Est-ce dû à la fonction .prop()? Comment puis-je obtenir la valeur des cases cochées?Case à cocher est cochée, mais: cochée ne fonctionne pas
Si vous avez besoin de plus d'informations, je me ferai un plaisir de les fournir. Voici un code:
if (json.event.public_visible == 1) {
$('#event_public_visible').prop('checked', true);
} else {
$('#event_public_visible').prop('checked', false);
}
if (json.event.package_event == 1) {
$('#event_package_only').prop('checked', true);
} else {
$('#event_package_only').prop('checked', false);
}
Mise à jour: plus de code
var editEvent = function() {
if ($('#event_public_visible').is(':checked')) {
console.log('test');
}
formData = {
// ... other fields
event_package_only: $('#event_package_only :checked').val(),
event_public_visible: $('#event_public_visible :checked').val(),
// ... more fields
};
$.ajax({
url: base_url + "admin/events/editAsync",
type: "POST",
data: formData,
dataType: "json",
success: function (json) {
// success handling
}
});
};
Cela devrait fonctionner - afficher le JavaScript en question, le code qui essaie d'utiliser ': checked'. – Pointy
Notez également qu'il devrait être '$ ('# checkbox-id: checked'). Val()', sans espace avant le ': checked'. – Pointy
avez-vous essayé .is (': checked')? – alix