Автор Тема: Выделить всё  (Прочитано 7500 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #15 : 01 Мая 2004, 17:08:42 »
Макс

Вот этот твой вариант:

echo \'


Работал раньше, но теперь у меня между чекбоксами появилась другая форма, и это уже не работает. Ты писал, что можно это обойти - как?
Чем меньше букв, тем ёмче слово.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Выделить всё
« Ответ #16 : 02 Мая 2004, 12:01:25 »
что значит "другая форма" ? (тег ?)
Скорее всего достаточно просто перенести эту "форму" под чекбоксы
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Выделить всё
« Ответ #17 : 02 Мая 2004, 12:12:26 »
function select_all(frm, first, last) {
   for(i = first; i <= last; i++) {
      if (frm.elements[i].type == \'checkbox\');
         frm.elements[i].checked = true;
   }
}
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #18 : 15 Мая 2004, 23:59:33 »
Макс
Не работает.
Чем меньше букв, тем ёмче слово.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Выделить всё
« Ответ #19 : 16 Мая 2004, 14:02:43 »
для меня фраза "не работает" не несет никакой информации.
Хочешь получить ответ, описывай что ты делал и что получил и что хотел получить.
Если выводятся ошибки - пиши какие именно
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #20 : 19 Мая 2004, 20:23:48 »
ThE0ReTiC
Цитировать
function setCheckboxes(the_form, do_check)
{
    var elts      = document.forms[the_form].elements[\'selected_item[]\'];
    var elts_cnt  = (typeof(elts.length) != \'undefined\')
                  ? elts.length
                  : 0;

    if (elts_cnt) {


the_form, я так понимаю, имя формы. А в do_check что передано должно быть?
Чем меньше букв, тем ёмче слово.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #21 : 20 Мая 2004, 10:05:59 »
Skyer
ну либо true либо false
=)
AS IS...

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #22 : 20 Мая 2004, 18:31:46 »
ThE0ReTiC

Твоя функция:

Цитировать
function setCheckboxes(the_form, do_check)
{
    var elts      = document.forms[the_form].elements[\'delete[]\'];
    var elts_cnt  = (typeof(elts.length) != \'undefined\')
                  ? elts.length
                  : 0;

    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            elts.checked = do_check;
        }
    } else {
        elts.checked        = do_check;
    }

    return true;
}


+



+



Ничего не происходит.
« Последнее редактирование: 20 Мая 2004, 18:41:29 от Skyer »
Чем меньше букв, тем ёмче слово.

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #23 : 25 Мая 2004, 18:15:29 »
Макс
Я только сейчас обратил внимание. В твоей функции

Цитировать
function select_all(frm, first, last) {
   for(i = first; i <= last; i++) {
      frm.elements.checked = true;
   }
}


параметр last определяет количество всех элементов формы. А между чекбоксами есть ещё элементы формы, их количество может быть совершенно различным(как и самих чекбоксов). У меня программа может подсчитать количество чекбоксов, но количество элементов всего - нет.

Ты написал, что
Цитировать
Главное чтобы
- все чекбоксы в форме располагались по подряд (чтобы между ними не было других элементов формы), хотя это можно обойти.


Как это сделать?
Чем меньше букв, тем ёмче слово.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Выделить всё
« Ответ #24 : 25 Мая 2004, 20:35:41 »
не тестировал, примерно так :

function select_all(frm) {
   last = frm.elements.length;
   for(i = 0; i <= last; i++) {
      if (frm.elements[i].type == \'checkbox\');
         frm.elements[i].checked = true;
   }
}
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Skyer

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 88
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Выделить всё
« Ответ #25 : 25 Мая 2004, 20:46:33 »
Макс
Спасибо! (смайл большого пальца вверх). Работает.
« Последнее редактирование: 25 Мая 2004, 21:00:34 от Skyer »
Чем меньше букв, тем ёмче слово.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28