Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт JS для браузера. 
:(
    Опции темы
kibec
Дата 7.8.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.8.2010

Репутация: нет
Всего: нет



Добрый день, возникла следующая проблема, есть поля.
Ошибся в названии темы, не для браузера, а просто скрипт.


Код

<form action="" method="post" name="editnews"> 
<input type="checkbox" name="selected_posts[]" value="6">
<input type="checkbox" name="selected_posts[]" value="7">
<input type="checkbox" name="selected_posts[]" value="8">
<input type="checkbox" name="selected_posts[]" value="XXXX">
</form>



Нужно, что бы при нажатии  номера 2 (или другого) , далее пролистываю до 90, и с шифтом нажимаю, отмечается весь массив, между этим пунктами...

То есть, по аналогии с sape, и других ресурсов.


Редактировать могу только подключаемый JS файл...

Заранее спасибо!!

Это сообщение отредактировал(а) kibec - 7.8.2010, 23:17
PM MAIL   Вверх
Amphiluke
Дата 7.8.2010, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Где-то так… Наверное, можно сделать красивее, особенно если подключить библиотечку типа jQuery
Код

    var lastClicked = null;
    function chkClick(e) {
        if (!e) e = window.event;
        var sender = (e.target) ? e.target : e.srcElement;
        if (lastClicked && e.shiftKey) {
            var chks = document.getElementsByName("selected_posts[]");
            var firstChk = Math.min(parseInt(lastClicked.value), parseInt(sender.value));
            var lastChk = Math.max(parseInt(lastClicked.value), parseInt(sender.value));
            var curChk;
            for (var i = 0; i < chks.length; i++) {
                curChk = parseInt(chks[i].value);
                if ((curChk >= firstChk) && (curChk <= lastChk))
                    chks[i].checked = true;
            }
        } else {
            lastClicked = sender;
        }
    }
    window.onload = function() {
        var chks = document.getElementsByName("selected_posts[]");
        for (var i = 0; i < chks.length; i++) {
            if (chks[i].addEventListener) {
                chks[i].addEventListener("click", chkClick, false);
            } else {
                chks[i].attachEvent("onclick", chkClick);
            }
        }
    }

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.