массове выделение:)
Добрый день жителям форума:)
Хочу сделать выделение строчек в таблице через щелчок по 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 в них остаются неизменным. Короче все вот так вот плохо:) может кто то посоветует или на толкнет на мысль :) буду признателен:) |
стоп я кажется придумал) можно же сделать с nextSibling :)
но если кто то знает еще варианты пишите я попробую что быстрее работает. |
Цитата:
Цитата:
|
Kolyaj
иногда и не так обзовешь функцию:) уже нашел, что тормозит код, спс за помощь:) |
Цитата:
Цитата:
Цитата:
<html> <head> <title></title> <style type="text/css"> </style> <script> function Go() { var o=document.getElementById('test'),i o=o.getElementsByTagName('input') for (i=0; i<o.length; i++) { if (o[i].type=='checkbox') { o[i].checked=true } } } </script> </head> <body> <table id='test'> <tr> <td><input type='checkbox' /></td> </tr> <tr> <td><input type='checkbox' /></td> </tr> <tr> <td><input type='checkbox' /></td> </tr> </table> <input type='button' value='Go' onclick='Go()' /> </body> </html> |
ksa
Извините но я не понял чем ваш способ отличается от моего. |
розовый слоник, тогда не понятно что там у тебя может "тормозить". :)
|
как оказалось было чему тормозить там:)
я уже все поправил:) спс за внимание:) |
Часовой пояс GMT +3, время: 05:02. |