7
votes

Désactiver ou activer le bouton d'envoi sur la case à cocher Vérifiez l'événement

Je veux quelque chose comme ça, mais avec un léger changement. Je souhaite que un bouton soit activé ou désactivé sur case à cocher Cocher Evénement, c'est-à-dire une fois la case à cocher est cochée, puis il ne doit pas être activé que le bouton Sinon, il est désactivé. Cela devrait être fait en utilisant le code JQuery pas JavaScript.

Comme il s'agit de la forme MVC, il n'y a donc pas d'identifiant de formulaire.


0 commentaires

4 Réponses :


32
votes
$(function() {
    $('#id_of_your_checkbox').click(function() {
        if ($(this).is(':checked')) {
            $('#id_of_your_button').attr('disabled', 'disabled');
        } else {
            $('#id_of_your_button').removeAttr('disabled');
        }
    });
});
And here's a live demo.

5 commentaires

Ne serait pas ceci.Checked suffit?


@Raynos, bien sûr qu'il suffirait.


Meilleur phrasé, existe-t-il des bogues de navigateur anciens avec ceci.Checked que $ (this) .is (': coché') traite pour moi? Ou est-ce que vérifié, il suffit de lire mieux.


@Raynos, c'est exactement parce que je ne connais pas la réponse à votre question que je préfère immuniser moi-même en utilisant la version JQuery et assurez-vous qu'il fonctionnera dans tous les navigateurs pris en charge par JQuery.


Aussi de jQuery 1.6 et au-delà, .prop () doit être utilisé à la place de .attr () , voir le document ici api.jquery.com/prop . Egalement .removeProp () La méthode ne doit pas être utilisée pour définir ces propriétés sur false. Voici donc une démonstration en direct mise à jour jsfiddle.net/rqvwkc0j/3



0
votes
$('#checkbox').click(function(){
    if($(this).is(':checked')){
        $('#submitButton').attr("disabled", "true");
    }else {
        $('#submitButton').removeAttr("disabled");
    }

});
... it works for me ...

5 commentaires

-1 Pour définir l'attribut sur true chaque fois que la case est cochée.


$ (this) .attr ('coché', true) définit l'attribut sur true. Ce que vous voulez faire, c'est vérifier s'il a l'attribut ou si la valeur est quelque chose de sensible $ (ceci) .attr ('coché') === quelque chose_sensible


Ce n'est pas la réponse correcte au moins, il ne va pas à droite avec mes exigences. Je veux que l'envoi soit activé uniquement si la case à cocher est cochée sinon elle doit toujours être désactivée. Lorsque je cocherai la case à cocher, mon bouton est désactivé et lorsque je décochez que le bouton IT est activé. Vous avez essayé les deux codes. Dans le premier cas ci-dessus, la case se produit et dans la case à cocher reste vérifiée tout le temps. (J'ai essayé d'ajouter désactivé = Désactivé dans le bouton HTML de bouton désactivé mais je n'ai pas fonctionné puis je l'ai supprimé mais que rien ne s'est passé


w3schools.com/tags/att_button_disabled.asp Visitez ce lien IT Shuold Soyez utile pour vous


w3schools.com/tags/tryit.asp?filename=tryhtml_button_disable d Exemple de course est ici



1
votes

Ceci est vieux mais travaillé pour moi avec JQuery 1.11

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


0 commentaires

0
votes

Sérieusement? Pourquoi pas seulement:

onclick="$('#submitButton').attr('disabled',$('#checkbox').is(':checked'));"


0 commentaires