Где ошибка не пойму
Такой скриптик для выделения определенной группы 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, время: 21:40. |