Где ошибка не пойму
Такой скриптик для выделения определенной группы checkbox.Что то не пашет. Помогите разобраться.
function ckeck_uncheck(id) { switch (id) { case 1: a=1; b=6; c=master_box1; break; case 2: a=7; b=12; c='master_box2'; break; case 3: a=11; b=18; c='master_box3'; break; case 4: a=19; b=23; c='master_box4'; break; case 5: a=24; b=25; c='master_box5'; break; case 6: a=26; b=35; c='master_box6'; break; case 7: a=36; b=50; c='master_box7'; break; case 8: a=51; b=62; c='master_box8'; break; case 9: a=63; b=69; c='master_box9'; break; case 10: a=70; b=74; c='master_box10'; break; default: a=0; b=0; } var frm = document.form.master_box1; for (var i=a;i<b;i++) { var elmnt = frm.elements[i]; if (elmnt.type=='checkbox') { if(frm.checked == true){ elmnt.checked=false; } else{ elmnt.checked=true; } } } if(frm.checked == true){ frm.c.checked = false; } else{ frm.checked = true; } } |
и какие ошибки выдаёт?
|
Пробывал и с переменной "c" и с "frm". Не пашет. Не выделяет всю группу.
|
ну так скрипт древний. Почитай про методы DOM.
|
Да. Если ввести будет работать, но с одной группой.
var frm = document.form; for (var i=a;i<b;i++) { var elmnt = frm.elements[i]; if (elmnt.type=='checkbox') { if(frm.master_box1.checked == true){ elmnt.checked=false; } else{ elmnt.checked=true; } Как изменить переменную frm или вствить frm.c.etc.... чтоб работало со многими группами птичек. А что такое DOM? И чем он мне поможет? |
а трудно в поиске набрать DOM?
|
Долго я разберался с этой умной аббревиатурой. И ничего полезного она мне не принесла.
Итак. Имеются свойства объекта и методы checkbox: 1. checkboxName.propertyName 2. checkboxName.methodName (parameters) 3. formName.elements [index] .propertyName 4. formName.elements[index].methodName(parameters) В моем случае вот что. 1. CheckboxName.checked Проблема в frm.{КАК ПОМЕНЯТЬ ЗДЕСЬ ИМЯ ПТИЧКИ}.checked До этого было вот так frm.master_box.checked и работало только для master_box а мне надо для 10 таких |
frm['master_box'].checked
|
Вот теперь все работает.А через getElementById пытался выпендриться. Спасибо тебе ZoNT.
|
Часовой пояс GMT +3, время: 22:59. |