Добрый день жителям форума
Хочу сделать выделение строчек в таблице через щелчок по checkBox и зажатой клавиши shift(точнее я уже сделал но оно медленно отрисовывает) пример, как выделение писем на ya.ru, gmail.com, mail.ru и другие.
Как я делаю.
Условие для выделения строк через клавишу shift
if(shiftKey == true) {
var lastElArray = arrayCheckBox.length - 1;
var firstCheckBox = parseInt(arrayCheckBox[lastElArray]);
var lastCheckBox = parseInt(input.name);
var getElTagName = f_a('bHDSTbody_datasheet_T_a').getElementsByTagName('input');
for (vaк i=0;i<getElTagName.length;i++){
var element = getElTagName[i];
var nextPosition = parseInt(element.name);
if(firstCheckBox < lastCheckBox){
if(element.type == "checkbox" && nextPosition < lastCheckBox && nextPosition > firstCheckBox){
addBgColorTableFild(element);
}
}else if(firstCheckBox > lastCheckBox){
if(element.type == "checkbox" && nextPosition > lastCheckBox && nextPosition < firstCheckBox){
addBgColorTableFild(element);
}
}
}
}
функция addBgColorTableFild просто добавляет к тегам tr класс с нужным мне бекграундом.
Функция f_a() это функция поиска элемента по id(это для понимания кода).
Насколько я понимаю вся проблема из за того, что я прохожусь по всем чек боксом и отбираю из них только те которые мне нужны. Все из за того что я не могу скачать циклу пройтись скажем от firstCheckBox до lastCheckBox из за того, что строчки можно удалять, а атрибут name в них остаются неизменным.
Короче все вот так вот плохо
может кто то посоветует или на толкнет на мысль
буду признателен