Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Взаимодействие JS и input checked (https://javascript.ru/forum/misc/16640-vzaimodejjstvie-js-i-input-checked.html)

AllanZ 15.04.2011 21:19

Взаимодействие JS и input checked
 
Здравствуйте уважаемые пользователи этого форума!
Передо мной стоит задача сделать так что бы:
Если на странице есть input checkbox (активный) с name="view[]", то отмечался checkbox с name="total".

Буду благодарен за помощь! Если написал не понятно - пишите что конкретно, сразу отвечу.

ksa 15.04.2011 21:35

AllanZ, пройдись в цикле по всем элементам с name="view[]"... Если есть активные - пройдись по всем элементам с name="total" и "отметь" их...

AllanZ 15.04.2011 21:47

Цитата:

Сообщение от ksa (Сообщение 100844)
AllanZ, пройдись в цикле по всем элементам с name="view[]"... Если есть активные - пройдись по всем элементам с name="total" и "отметь" их...

Спасибо за ответ! Я логику понимаю, не совсем шарю в синтаксисе JS, поэтому и обращаюсь за помощью!
PS: name="total" один.

ksa 15.04.2011 21:49

Цитата:

Сообщение от AllanZ
name="total" один

Тогда это первый элемент массива...

document.getElementsByName('total')[0].checked=true

AllanZ 15.04.2011 22:46

Спасибо!
А как цикл сделать что бы по всем name="view" пройтись?
if (document.getElementsByName('view')[0].checked=true)

Это только по одному как я понимаю?

-----------------------------------
Всем спасибо - справился, если кто знает как можно доработать - пишите.
Вот как вышло:
var el=document.getElementsByTagName('input');
			  for (var i=0; i < el.length; i++) {
				if (document.getElementsByName('view[]')[i].checked==true) {
				  document.getElementsByName('total')[0].checked=true;
				}
			  }

ksa 16.04.2011 21:20

Цитата:

Сообщение от AllanZ
Вот как вышло

Видать намёков ты не понял...

var el=document.getElementsByName('view[]');
for (var i=0; i < el.length; i++) {
	if (el[i].checked) {
		document.getElementsByName('total')[0].checked=true;
		break
	}
}


Часовой пояс GMT +3, время: 06:20.