J'essaie de mieux utiliser Jquery et j'aimerais donc avoir des commentaires sur les façons d'optimiser mon script ci-dessous.Optimisation du script de la case à cocher jquery
Pour décrire brièvement la fonctionnalité, j'ai une case à cocher "checkall" et un bouton pour effectuer des actions sur les éléments cochés. Si aucun élément n'est coché, mon bouton doit être désactivé et la classe doit être désactivée. Si un seul élément est coché, le bouton ne doit pas être désactivé, ni la classe désactivée.
Merci à l'avance
$(document).ready(function(){
$('#checkall').click(function() {
$(this).parents('.table_form:eq(0)').find(':checkbox').attr('checked', this.checked);
if($(this).parents('.table_form:eq(0)').find(':checkbox').is(':checked')) {
$("#delete_selected").attr("disabled");
$("#delete_selected").removeClass("disabled");
} else {
$("#delete_selected").removeAttr("disabled").addClass("disabled");
}
});
$("#blog_posts tbody :checkbox").click(checked_status);
});
function checked_status() {
var n = $("input:checked").length;
if(n > 0) {
$("#delete_selected").attr("disabled");
$("#delete_selected").removeClass("disabled");
} else {
$("#delete_selected").removeAttr("disabled").addClass("disabled");
}
}
Juste je viens de découvrir ce bug moi-même. Merci d'avoir signalé! Le code est maintenant comme ceci: $ ("# delete_selected"). Attr ("disabled", false); $ ("# delete_selected"). RemoveClass ("disabled"); – Kristian