Subversion Repositories wimsdev

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
15052 obado 1
 
2
var nb_checked = 0;
3
var nb_tot = 0;
4
var checkboxes, check_all;
5
 
6
document.addEventListener("DOMContentLoaded", function(event) {
7
 
8
  checkboxes = document.getElementsByName('selection');
9
  check_all = document.getElementById('check_all_selection');
10
 
11
  for(var i=0, n=checkboxes.length;i<n;i++) {
12
    if (checkboxes[i].checked) {
13
      nb_checked++;
14
    }
15
    nb_tot++;
16
    checkboxes[i].addEventListener('change', function(event) {
17
      if (event.target.checked) {
18
        nb_checked++;
19
      } else {
20
        nb_checked--;
21
      }
22
      console.log("nb_checked="+nb_checked);
23
      check_all.indeterminate=false;
24
      check_toggle_state();
25
    })
26
  }
27
  check_toggle_state();
28
});
29
 
30
/* Check/uncheck all Checkboxes */
31
function toggle() {
32
  for(var i=0, n=checkboxes.length;i<n;i++) {
33
    checkboxes[i].checked = check_all.checked;
34
    if (check_all.checked){
35
      nb_checked = nb_tot;
36
    } else {
37
      nb_checked = 0;
38
    }
39
    console.log("nb_checked="+nb_checked);
40
  }
41
}
42
 
43
function check_toggle_state() {
44
  if (nb_checked<=0){
45
    check_all.checked=false;
46
  }
47
  else if (nb_checked>=nb_tot){
48
    check_all.checked=true;
49
  } else {
50
    check_all.indeterminate=true;
51
  }
52
}