Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Altum от 09 Декабря 2006, 05:35:43
-
Ребят! Не могу никак решить одну проблему. Уже второй день бьюсь над ней. Я в JavaScript\'e не очень! Поэтому не исключаю, что собака рядом зарыта!
И так. Есть страничка. На ней есть несколько checkbox\'ов (кол-во переменное). Этих checkbox\'ов две группы. У каждой группы есть один главный checkbox, при отметки которого отмечается вся группа. С первой группой у меня всё хорошо! А вот со второй проблема. Вроде всё одинаковое, но во второй группе все выделить одним checkbox\'ом не получается
Вот листинг:
"http://www.w3.org/TR/html4/loose.dtd">
Помогите совет!
-
Мил человек! Ты в итерациях покопайся внимательнее - у тебя ж "i" прирастает от 1 до количества элементов формы, а нумерация в идентификаторах посередине разорвана и начинается сначала.
А вот если заменить brand1 на brand5 и т.д... ))
Кстати, здесь можно обойтись одной функцией вместо двух:
function selectCatAll(nn){
for(i=1; iif (document.formName.elements.id== nn +i){
if(document.formName.elements[nn].checked==true){
document.formName.elements.checked = true;
} else {
document.formName.elements.checked = false;
};
};
};
};
а вызывать ее так:
input id="cat" name="cat_all" type="checkbox" OnClick="selectCatAll(this.id)"
input id="brand" name="cat_all" type="checkbox" OnClick="selectCatAll(this.id)"
-
brainkiller
Спасибо за ответ!
А можно ли итерацию с начала начать? Просто, код я представил условный. На самом деле в "catn" и "brandn" "n" прописывается php-функцией (притом, у каждого своё "n") и сколько этого "n" будет не известно заранее.
Кстати, здесь можно обойтись одной функцией вместо двух:
Я пробовал, но у меня не получилось. И теперь я понимаю почему: я id использовал с приставкой "_all". Если её убрать, то всё работает. А почему с ней не работает?
-
Altum:
А можно ли итерацию с начала начать?
Можно, а в чём проблема? Обнулил переменную и вперед.
Altum:
Я пробовал, но у меня не получилось. И теперь я понимаю почему: я id использовал с приставкой "_all".
Да и почему ты использовал id c приставкой _all? )))
А я попробовал у меня получилось
Обрати внимание на выделенную жирным шрифтом конструкцию var i, так вот внутри функции желательно делать именно так, иначе переменная будет определена в глобальном контексте.
Altum:
Просто, код я представил условный. На самом деле в "catn" и "brandn" "n" прописывается php-функцией (притом, у каждого своё "n") и сколько этого "n" будет не известно заранее.
Как ты понимаешь сам, теперь абсолютно все равно чем прописывается n, функция будет работать корректно!
Altum:
Я в JavaScript\'e не очень!
Чтобы быть немного лучше можно почитать например здесь http://developer.mozilla.org/en/docs/JavaScript
-
html_coder
Спасибо большое! Всё получилось! Немного начинаю понимать JavaScript. И в этом немного помогло ещё написание одной программы в Delphi.