Limiter la sélection des boutons radio à travers les groupes

Je sais comment limiter le nombre de cases à cocher qu’un utilisateur peut choisir, mais je ne sais pas comment faire cela avec plusieurs groupes de boutons radio.

C’est le scénario. Le premier ensemble de boutons radio permet à l’utilisateur de sélectionner un nombre, compris entre 1 et 6. J’obtiens cette valeur comme ceci:

$('#input_3_1 input').on('change', function() { var selectedVal = ""; var selected = $("#input_3_1 input[type='radio']:checked"); if (selected.length > 0) { selectedVal = selected.val(); } }); 

Après cela, il y a une série de groupes de radio, chacun avec plusieurs options, comme ceci:

  

Et ainsi de suite pour un nombre variable de champs pouvant aller jusqu’à 10.

J’ai besoin de l’utilisateur pour pouvoir sélectionner uniquement le nombre de choix sélectionnés dans le premier champ parmi TOUS ces autres champs.

Quelqu’un peut-il me diriger dans la bonne direction ici?

 $('.limit-this input[type="radio"]').click(function(){ var a = $('.limit-this input[type="radio"]:checked').length; if(a>selectedVal) if($(this).is(':checked')) $(this).removeAttr('checked'); }); 

Voir la démo

Dans DEMO2, j’ai activé la désactivation des éléments cochés pour le cas où l’utilisateur change d’avis et souhaite effectuer une autre sélection:

 $('.limit-this input[type="radio"]').click(function(){ var a = $('.limit-this input[type="radio"]:checked').length; var b = ($(this).is(':checked')?1:0); if(a>selectedVal){ if($(this).is(':checked')){ $(this).removeAttr('checked');}} else{ if($(this).is(':checked')&&$(this).data('val')==1) {$(this).removeAttr('checked'); $(this).data('val', 0); }else $(this).data('val', b); } });