Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Altum от 09 Декабря 2006, 05:35:43

Название: Проблема с checkbox\'ом
Отправлено: Altum от 09 Декабря 2006, 05:35:43
Ребят! Не могу никак решить одну проблему. Уже второй день бьюсь над ней. Я в JavaScript\'e не очень! Поэтому не исключаю, что собака рядом зарыта!
И так. Есть страничка. На ней есть несколько checkbox\'ов (кол-во переменное). Этих checkbox\'ов две группы. У каждой группы есть один главный checkbox, при отметки которого отмечается вся группа. С первой группой у меня всё хорошо! А вот со второй проблема. Вроде всё одинаковое, но во второй группе все выделить одним checkbox\'ом не получается
Вот листинг:

  "http://www.w3.org/TR/html4/loose.dtd">





   

      
         
            
            
            
            
            
            
            
            
         
      

               
            

               
            

               
            

               
            

               
            

               
            

               
            

               
            

   





Помогите совет!
Название: Проблема с checkbox\'ом
Отправлено: brainkiller от 09 Декабря 2006, 06:57:03
Мил человек! Ты в итерациях покопайся внимательнее - у тебя ж "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)"
Название: Проблема с checkbox\'ом
Отправлено: Altum от 09 Декабря 2006, 16:29:04
brainkiller
Спасибо за ответ!
А можно ли итерацию с начала начать? Просто, код я представил условный. На самом деле в "catn" и "brandn" "n" прописывается php-функцией (притом, у каждого своё "n") и сколько этого "n" будет не известно заранее.


Цитировать
Кстати, здесь можно обойтись одной функцией вместо двух:

Я пробовал, но у меня не получилось. И теперь я понимаю почему: я id использовал с приставкой "_all". Если её убрать, то всё работает. А почему с ней не работает?
Название: Проблема с checkbox\'ом
Отправлено: html_coder от 09 Декабря 2006, 20:14:37
Цитировать
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
Название: Проблема с checkbox\'ом
Отправлено: Altum от 25 Декабря 2006, 03:13:38
html_coder
Спасибо большое! Всё получилось! Немного начинаю понимать JavaScript. И в этом немного помогло ещё написание одной программы в Delphi.