Voici ce que je ferais :
je créerais mes 30 boutons (ou autre élément HTML) avec une classe spécifique (check-button pour l'exemple).
Tu styles correctement ces boutons avec .check-button pour un bouton simple, et .check-button.checked pour un bouton coché
Dans l'exemple, je pars du principe que la valeur à envoyer est dans l'attribut value du bouton, et qu'il y a 4 inputs hidden pour envoyer les valeurs.
Et en js (avec jquery)
Code :
$('.check-button').click(function(){ var $this = $(this); var max_checked = 4; if($this.hasClass('checked')){ this.removeClass('checked'); }else{ if($('.check-button.checked').length <= 4){ this.addClass('checked'); }else{ // gestion de l'erreur alert('4 choix max'); } } refreshHiddenInputs(); }); function refreshHiddenInputs(){ var $inputs = $('.checkbuttons-hidden-inputs'); $inputs.val(''); $('.check-button.checked').each(function(i,button){ if(i>=4) alert('oups'); // gestion d'erreurs a faire $inputs[i].val($(button).attr('value')); }); }
|
Message édité par Paulp le 13-04-2011 à 10:01:03