Jak ograniczyć ilość zaznzaczonych pół checkbox?

0

Cześć!

Musze zrobić formularz, który zawiera 3 pytania a do każdego z tych pytań jest po 5 odpowiedzi. Te opowiedzi są z góry określone i mają być zawarte w checkboxach. Sęk w tym, że w wybranej grupie odpowiedzi użytkownik będzie mógł wybrać maksymalnie dwie a domyslnie jest tak, że da się zaznaczyć wszystkie. Jak wiec zrobić, żeby mógł wybrać tylko ograniczoną ilość?

0

napisz skrypt który będzie zliczał ilość zaznaczonych i odznaczonych

0

Ok. Rozumiem. Mam jednak problem z tym, że w jednym formularzu mam 3 pytania a do każdego 5 odpowiedzi i w każdym pytaniu użytkownik może wybrać maks 2 odpowiedzi. Znalazlem na sieci skrypt, który zlicza ilośc zaznaczonych checkboxow ale w calym formularzu. Skutkuje to tym, że do tych trzech pytan moge wybrac tylko 2 odpowiedzi a nie maks 6 tak jak powinno być. Jak rozseparowac poszczegolne grupy odpowiedzi w jednym formularzy tak żeby mieć osobna zmienną przechowującą ilość zaznaczonych checkboxów dla każdej grupy?

0
<script type="text/javascript">
  function initCheckLimit(elm, count) {
    var cb = elm.getElementsByTagName('input');
    for (var i = 0; i < cb.length; i++) {
      if (cb[i].getAttribute('type') != 'checkbox') continue;
      cb[i]._count = count;
      cb[i].onclick = function() {
        var cn = this.parentNode.childNodes;
        var checkCount = 0;
        for (var j = 0; j < cn.length; j++) {
          if (cn[j].nodeType != 1) continue;
          if (cn[j].getAttribute('type') != 'checkbox') continue;
          if (cn[j].checked) checkCount++;
          if (checkCount > this._count) return false;
        }
      };
    }
  }
  onload = function() {
    initCheckLimit(document.getElementById('my_form'), 2);
  };
</script>
<form id="my_form">
  <div>
    <input type="checkbox" />1
    <input type="checkbox" />2
    <input type="checkbox" />3
    <input type="checkbox" />4
    <input type="checkbox" />5
  </div>
  <div>
    <input type="checkbox" />1
    <input type="checkbox" />2
    <input type="checkbox" />3
    <input type="checkbox" />4
    <input type="checkbox" />5
  </div>
  <div>
    <input type="checkbox" />1
    <input type="checkbox" />2
    <input type="checkbox" />3
    <input type="checkbox" />4
    <input type="checkbox" />5
  </div>
</form>
0

Wielkie dzięki za tak konkretną odpowiedź. Właśnie oto mi chodziło :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1