Ik heb de volgende select en form:
In mijn CMS heeft elke user een status (0 = blocked, 1= active of 2 = deleted). In het form staan de users. De value van elke checkbox is userId-userStatus. Jan heeft dus als ID 45 en is active (want: 1).
Ik tracht nu een functie te bouwen waarmee ik in 1 keer alle users kan selecteren, of alle geblokte, active of deleted users:
De for-loop gaat echter fout, omdat ik niet door edit[users][] kan bladeren. Hoe moet ik deze array van checkboxes dan aanroepen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
| <select name="edit[action]" onchange="user_action(this.options[this.selectedIndex].value)"> <option value="select-x">all</option> <option value="select-0">blocked</option> <option value="select-1">active</option> <option value="select-2">deleted</option> </select> <form> <input type="checkbox" name="edit[users][]" value="45-1"> Jan <input type="checkbox" name="edit[users][]" value="65-2"> Bas <input type="checkbox" name="edit[users][]" value="67-1"> Aad </form> |
In mijn CMS heeft elke user een status (0 = blocked, 1= active of 2 = deleted). In het form staan de users. De value van elke checkbox is userId-userStatus. Jan heeft dus als ID 45 en is active (want: 1).
Ik tracht nu een functie te bouwen waarmee ik in 1 keer alle users kan selecteren, of alle geblokte, active of deleted users:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function user_action(option) { var form = document.forms[0]; var msg = 'Selecteer eerst een of meerdere users'; if (option.indexOf("-") != -1) { var option = option.split('-'), action = option[0], select = option[1]; } else action = option; switch (action) { case 'select': for (i = 0; i < edit[users][].length; i++) { // split option value, kijk naar value[1] // en vergelijk met option[1] value } } } |
De for-loop gaat echter fout, omdat ik niet door edit[users][] kan bladeren. Hoe moet ik deze array van checkboxes dan aanroepen?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."