Bonjour,
Voila je rencontre un petit problème avec mon code.
Je me suis fortement inspiré pour limiter mes inputs, du tutoriel sur comment limiter le choix de checkbox.
Mais mon script bloque tous mes inputs.
Merci pour votre aide!
Décrivez ici votre code ou ce que vous cherchez à faire
Voici mon script:
$(':input').click(function(event) {
limit = 3;
nb=$(":input").length;
if(nb>limit){
$(this).attr("disabled", true);
}
});
### Ce que je veux
Limiter le choix de mes inputs
### Ce que j'obtiens
il me bloque tous mes inputs
Salut,
Est-ce qu'au moins tu as compris le code que tu as écrit ?
A aucun moment tu ne cibles les inputs checked, là tu cibles TOUTES les inputs.
var $checkboxes = $('input[type="checkbox"]'),
limit = 3, checked = 0;
$checkboxes.click(function() {
checked = $checkboxes.filter(':checked').length;
$checkboxes.removeAttr("disabled");
checked >= limit && ($checkboxes.not(':checked').attr("disabled", "disabled"));
});
Voici une démo (je l'ai fait vite fait ce n'est pas optimisé) : http://codepen.io/betaweb/pen/qZVQer
Autre piste
si tu utilises la forme $('input').on("click", function ....
le this indiquera bien la bonne cible
@betaWeb , ne sachant pas ce qu'il veut faire ...
là son problème c'est que tous les inputs sont disabled à la fois, pour moi c'est juste le this qui n'est pas correct d'où mes deux réponses.
Regarde la solution que je lui ai donné, elle fonctionne très bien ;)
Il veut juste que si plus de x inputs sont checked, les autres se disabled.