J'utilise Jquery dans ma page pour cacher les boutons que je ne veux pas montrer à moins que nécessaire. Dans ce cas, c'est une table avec plusieurs lignes que je cache le bouton Supprimer sauf si je sélectionne une ligne à supprimer ... De même, je cache le bouton qui contrôle la manipulation des lignes jusqu'à ce qu'il y ait plus d'une rangée. J'utilise le code suivant pour cela.Masquer les boutons quand ils ne sont pas nécessaires
jQuery(document).ready(function() {
if (jQuery(tableId).find("input[type='checkbox']").length == 1) {
jQuery(headerCheckbox).hide();
jQuery(removeButtonId).hide();
jQuery(upButtonId).hide();
jQuery(downButtonId).hide();
} else if (jQuery(tableId).find("input[type=checkbox]:checked").length == 0) {
jQuery(removeButtonId).hide();
jQuery(upButtonId).hide();
jQuery(downButtonId).hide();
jQuery(headerCheckbox).click(function() {
jQuery(tableId).find("input[type='checkbox']").attr('checked', jQuery(headerCheckbox).is(':checked'));
});
}
jQuery(tableId).find("input[type='checkbox']").each(function() {
if (jQuery(this).attr('id') != headerCheckbox) {
jQuery(this).click(function() {
if (jQuery(headerCheckbox).is(':checked')) {
if (jQuery(tableId).find("input[type=checkbox]:checked").length != 1) {
jQuery(removeButtonId).show();
if (rowCount > 1) {
jQuery(upButtonId).show();
jQuery(downButtonId).show();
}
} else if (jQuery(tableId).find("input[type=checkbox]:checked").length > 0) {
jQuery(removeButtonId).show();
if (rowCount > 1) {
jQuery(upButtonId).show();
jQuery(downButtonId).show();
}
} else {
jQuery(removeButtonId).hide();
jQuery(upButtonId).hide();
jQuery(downButtonId).hide();
}
}
});
}
});
});
Ce code sans
if (rowCount > 1) {
jQuery(upButtonId).show();
jQuery(downButtonId).show();
}
fonctionne très bien pour le bouton supprimer, mais le moment j'ajouter cette ligne le comportement se détraque et ne fonctionne que lorsque la sélection tout est sélectionné ...
Pour expliquer les variables utilisées la plupart d'entre eux sont juste des ID à partir d'éléments correspondants ... sauf rowcount qui est un nombre qui est généré par un autre code ... J'ai vérifié en chrome (Firebug) et le nombre est généré correctement. Mais encore le code ne semble fonctionner que lorsque je clique sur le sélectionner tous les autres fois il ne fonctionne pas aussi la peau ne fonctionne plus lorsqu'elle n'est pas sélectionnée, ... où vais-je me tromper?
Vive c'était comme ça .. une telle erreur idiote ... haha – Jeremiah
Ha vous seriez surpris de voir à quelle fréquence une seconde paire d'yeux va attraper des choses que vous avez manqué après l'avoir déchiqueté pendant des heures: P – cincodenada