массове выделение:)
Добрый день жителям форума:)
Хочу сделать выделение строчек в таблице через щелчок по 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:08. |