Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает цикл / 12 сообщений из 12, страница 1 из 1
09.11.2009, 21:06
    #36299862
Ratty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Здравствуйте!

У меня на форме расположены checkbox'ы и есть главный checkbox (отметить все / снять). Выделяю все checkbox'ы через цикл:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<input name="Select" type="checkbox" id="Select" onChange="
    
if((document.getElementById('Select').checked) == true)
{
 for(i=0; i<=1000; i++)
 {
  document.getElementById('i').checked = true;
 }
}
else
{
 for(i=0; i<=1000; i++)
 {
  document.getElementById('i').checked = false;
 }
}    
">


Но цикл не работает (не воспринимает i) Если поставить 1 вместо i ( document.getElementById('1').checked = true;) то выделит тот checkbox у которого id = 1. Ну а надо через цикл. Что я не так делаю?

P.S У меня id от 0 до n
...
Рейтинг: 0 / 0
09.11.2009, 21:19
    #36299885
Ratty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Извиняюсь но уже все работает, хотя ничего не изменял, наверное скрипт с характером. Тема закрыта
...
Рейтинг: 0 / 0
09.11.2009, 21:31
    #36299902
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Ratty,

я могу ошибаться, но как минимум не рекомендуется иметь idшники, начинающиеся с цифры, а скорее всего это даже работать не везде будет.

+
Код: plaintext
1.
<input name="Select" type="checkbox" id="Select" 
onChange="for (i = 0; i <= 1000; ++i){document.getElementById(i + '').checked = this.checked;}">
...
Рейтинг: 0 / 0
09.11.2009, 21:37
    #36299915
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
an0nym...не рекомендуется иметь idшники, начинающиеся с цифры...
Не рекомендуется. Я даже и не пробовал. Если у меня циферки - пишу типа i1, i2, и т.д. .
...
Рейтинг: 0 / 0
10.11.2009, 00:07
    #36300110
Ratty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Вот как раз таки конкатенация (i + 'check') у меня и не работает
...
Рейтинг: 0 / 0
10.11.2009, 00:20
    #36300124
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
RattyВот как раз таки конкатенация (i + 'check') у меня и не работает
Я бы не был так уверен, что не работает именно "конкатенация". Скорее всего браузер не может выбрать ноду с id начинающемся с цифры, так как это противоречит стандартам именования w3c (насколько я помню).
...
Рейтинг: 0 / 0
10.11.2009, 03:05
    #36300207
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Согласно спецификации ECMA-262 переменные не могут начинаться с цифры.
...
Рейтинг: 0 / 0
10.11.2009, 06:38
    #36300228
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
IE и FF нормально воспринимаю параметры типа name=0i
RattyВот как раз таки конкатенация (i + 'check') у меня и не работает
Возможно так будет работать:
Код: plaintext
(String(i) + 'check')
...
Рейтинг: 0 / 0
10.11.2009, 06:41
    #36300229
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
кстати, конструкция
Код: plaintext
1.
2.
3.
4.
 for(i= 0 ; i<= 1000 ; i++)
 {
  document.getElementById('i').checked = false;
 }
не может корректно работать. Так как всегда ищется элемент с id=i, а не id=0, id=1 ...
Вообще для таких дел лучше использовать name=ch, а для доступа getElementsByName('ch')[i]
...
Рейтинг: 0 / 0
10.11.2009, 13:22
    #36301014
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
KorcarIE и FF нормально воспринимаю параметры типа name=0i
Вот как раз таки конкатенация (i + 'check') у меня и не работает
Возможно так будет работать:
Код: plaintext
(String(i) + 'check')

Что за глупость? - Если один из операндов при сложении String, то результат всегда будет String, вне зависимости, с чего начинается сложение.
И повторюсь, что начинаться переменная с цифры не может - это протеворечит спецификации. Если браузер отрабатывает, то это "вопреки" ...
...
Рейтинг: 0 / 0
10.11.2009, 22:41
    #36302497
Ratty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
Спасибо за советы! Действительно, переменные не могут начинаться с цифр, это основа основ. В общем оставил как есть
...
Рейтинг: 0 / 0
12.11.2009, 10:59
    #36306072
neznau
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает цикл
RattyСпасибо за советы! Действительно, переменные не могут начинаться с цифр, это основа основ. В общем оставил как есть

на всякий случай, поставь в начале скрипта команду
Код: plaintext
1.
var i;
мало ли..
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не работает цикл / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]