0
votes

JQuery Activer le bouton Désactiver

Pour le téléchargement de fichier, j'ai utilisé un plugin WordPress.

Ici, je veux contrôler le nombre maximum de téléchargement de fichier. Je suis capable de désactiver le plugin de téléchargement lorsque l'utilisateur téléchargea le fichier number max.
Mais après avoir désactivé le bouton de téléchargement, lorsque l'utilisateur supprime un fichier et souhaitez télécharger un nouveau fichier qu'il ne peut pas. Comment réenverrair le bouton de téléchargement de décédération? J'ai désactivé le bouton de téléchargement, comptez avec le nombre total de classes d'entrée.

jQuery(document).ready(function() {
    var limit = 3;
    jQuery('.qbutton').on('click', function() {
        if (jQuery(".mfcf7-zl-multifile-name").length == limit) {
            jQuery(this).attr("disabled", "disabled");
        }
    });
    jQuery('.mfcf7_zl_delete_file').on('click', function() {
        if (jQuery(".mfcf7-zl-multifile-name").length < limit) {
            jQuery('.qbutton').removeAttr("disabled");
        }
    });
});


7 commentaires

.mfcf7_zl_delete_file est cette classe existent à la page?


Après avoir ajouté un fichier, cette classe sera visible. (Supprimer le bouton avec nom .mfcf7_zl_delete_file Nom de la classe)


désactivé doit être accessoire et l'utilisation doit être .prop ("désactivé", true) et .prop ("désactivé", false) moins pour jQuery> 1.6


rien ne fonctionne du tout.


À propos, j'ai également remarqué que je peux sélectionner plusieurs fichiers à chaque clic, c'est-à-dire la boîte de dialogue Ouvrir le fichier Sélectionnez 5 fichiers et ils sont tous sélectionnés. Je ne suis pas au courant de ce plugin que vous utilisez, donc je ne peux vraiment pas commenter comment il est manipulé.


yah. J'ai aussi remarqué ça. Maintenant, je dois personnaliser ce plugin ou besoin d'acheter une prime :(


Le nom du plug-in est multiple téléchargement de fichier pour le formulaire de contact 7


4 Réponses :


0
votes

Je pense que vous avez juste besoin de mettre à jour votre condition: xxx


7 commentaires

Ne fonctionnera pas. La classe cible n'existait pas lorsque le document a été chargé


Oui .. mais l'événement de clic ne sera appelé que lorsque la classe existe sur la page ...


L'auditeur d'événements ne sera pas attaché aux éléments créés de manière dynamique


@ Fr0zenfyr, sur attachera définitivement l'auditeur d'événement sur des éléments créés de manière dynamique.


@RashDulalamam, essayez ma solution.


Non ce ne sera pas. Essaie


Le problème WordPress @Muhammadzaib est un peu différent.



0
votes

Je pense que votre événement de clic n'est pas déclenché. Également besoin de revérifier la condition.

jQuery(document).on('click', 'mfcf7_zl_delete_file', function(){ 
     if (jQuery(".mfcf7-zl-multifile-name").length < limit) {
            jQuery('.qbutton').removeAttr("disabled");
        }
});


2 commentaires

1. La traversée tout au long du document peut ne pas être la meilleure idée que si tous les autres parents de l'arbre étaient insérés de manière dynamique. 2. Votre code ne fera rien car il n'y a pas de balise d'élément mfcf7_zl_delete_file , il devrait être .mfcf7_zl_delete_file . 3. désactivé est une propriété donc .prop ("désactivé", vrai / faux) doit être utilisé.


essayé avec chaque combinaison possible. Malheureusement, rien ne fonctionne.



0
votes

L'élément non, il vous reste encore à ajouter auditeur du sélecteur DOM Essayez ceci xxx

Vous pouvez utiliser document ou n'importe quel élément parent


0 commentaires

0
votes

Puisque l'élément cible n'existe pas sur la page lorsque le document est prêt qu'aucun événement n'est attaché aux éléments créés après la sélection de fichiers pour le téléchargement. Utilisez la délogation comme xxx

ceci capturera des clics sur n'importe quel .mfcf7_zl_delete_fcf7_zl_delete_file ajouté à .mfcf7_zl_multifilecontainer Une fois la page chargée.

D'ailleurs, remarquez que j'ai utilisé .prop () au lieu de travailler avec attr () , voir mon commentaire sur votre question pour plus de détails.

Edit: apparaît comme WordPress ajoute des éléments de manière dynamique. Je n'ai pas beaucoup de connaissance de WordPress. Essayez ceci: xxx

Vous pouvez utiliser un élément (doit être dans le chemin DOM sur Corps de votre .qbutton . ) que vous savez, il existe sûrement sur la charge de la page au lieu de corps dans le code ci-dessus


1 commentaires

Ne fonctionne pas encore, je peux ajouter de nombreux fichiers comme je le souhaite :( Merci pour vos efforts. Est-il possible de gérer ce problème d'une autre manière? Par exemple, le nombre total de fichiers d'entrée de fichier déposée ou Tolat Nombre de fichier joint dans le champ de saisie.