Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2010, 03:44
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

checkbox + js
Добрый день уважаемые! Нужна помощь!

Очень понадобился js скрипт, который делает следующее:
Как только ставим галочку на value1 или value2 или value3, она сразу ставится на value10 (выделяется автоматически),
но если галочку убрать с value10, то она также должна пропасть со всех value1 value2 value3.

<input type='checkbox' name='value1' value='1'>
<input type='checkbox' name='value2' value='2'>
<input type='checkbox' name='value3' value='3'>

<input type='checkbox' name='value10' value='10'>


PS Погуглив нашёл много примеров но только которые для этого не подходят - там предлагается например снять или поставить автоматически галки на чекбоксы, нажатием на кнопку или на один чекбокс - и ничего подобного моему примеру нет.
Ответить с цитированием
  #2 (permalink)  
Старый 21.03.2010, 16:53
Аватар для chu4___x
Интересующийся
Отправить личное сообщение для chu4___x Посмотреть профиль Найти все сообщения от chu4___x
 
Регистрация: 17.06.2009
Сообщений: 11

var checkbox = document.getElementsByTagName('input'), checkboxes = [];
for (var i = 0; i < checkbox.length; i++) {
	if (checkbox[i].name.indexOf('value') != -1) {
		checkboxes.push(checkbox[i].name);
		checkbox[i].onchange = function () {
			if (this.name == 'value10') {
				for (var _i = 0; _i < checkboxes.length; _i++) {
					document.getElementsByName(checkboxes[_i])[0].checked = 0;
				};
			} else {
				document.getElementsByName('value10')[0].checked = this.checked ? 1 : 0;
			}
		};
	};
};
Ответить с цитированием
  #3 (permalink)  
Старый 29.03.2010, 11:34
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

Спасибо, но я не могу разобраться как это всё совместить делал такв итоге конечно не работает)

<script language="javascript">
var checkbox = document.getElementsByTagName('input'), checkboxes = [];
for (var i = 0; i < checkbox.length; i++) {
	if (checkbox[i].name.indexOf('value') != -1) {
		checkboxes.push(checkbox[i].name);
		checkbox[i].onchange = function () {
			if (this.name == 'value10') {
				for (var _i = 0; _i < checkboxes.length; _i++) {
					document.getElementsByName(checkboxes[_i])[0].checked = 0;
				};
			} else {
				document.getElementsByName('value10')[0].checked = this.checked ? 1 : 0;
			}
		};
	};
};

</script>


<input type='checkbox' name='value1' value='1'>
<input type='checkbox' name='value2' value='2'>
<input type='checkbox' name='value3' value='3'>

<input type='checkbox' name='value10' value='10'>
Ответить с цитированием
  #4 (permalink)  
Старый 29.03.2010, 18:44
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Чекбокс (переключатель группы чекбоксов)
вот тут уже было что-то подобное
Ответить с цитированием
  #5 (permalink)  
Старый 30.03.2010, 20:14
Аватар для chu4___x
Интересующийся
Отправить личное сообщение для chu4___x Посмотреть профиль Найти все сообщения от chu4___x
 
Регистрация: 17.06.2009
Сообщений: 11

Georgiy,
Чекбоксы должны располагаться до функции.
<input type='checkbox' name='value1' value='1'>
<input type='checkbox' name='value2' value='2'>
<input type='checkbox' name='value3' value='3'>

<input type='checkbox' name='value10' value='10'>


(function () {
	var checkbox = document.getElementsByTagName('input'),	checkboxes = [];
	for (var i = 0; i < checkbox.length; i++) {
		if (checkbox[i].name.indexOf('value') != -1) {
			checkboxes.push(checkbox[i].name);
			checkbox[i].onchange = function () {
				if (this.name == 'value10') {
					for (var _i = 0; _i < checkboxes.length; _i++) {
						document.getElementsByName(checkboxes[_i])[0].checked = 0;
					};
				} else {
					document.getElementsByName('value10')[0].checked = this.checked ? 1 : 0;
				}
			};
		};
	};
})();
Ответить с цитированием
  #6 (permalink)  
Старый 30.03.2010, 20:17
Аватар для chu4___x
Интересующийся
Отправить личное сообщение для chu4___x Посмотреть профиль Найти все сообщения от chu4___x
 
Регистрация: 17.06.2009
Сообщений: 11

Но лучше поискать другой вариант, этот я нашёл на просторах интернета и не уверен, что он будет работать совсем корректно.
Ответить с цитированием
  #7 (permalink)  
Старый 31.03.2010, 10:43
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

Спасибо!

На самом деле функция работает, только не совсем так как надо

Думаю моих знаний js врядли хватит чтобы переделать "по примеру", т.к. использую js очень редко.
Ответить с цитированием
  #8 (permalink)  
Старый 31.03.2010, 12:13
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Уважаемый, у вас фактически два события: установка/снятие флага с value10 и та же операция с любым другим чеком. Соответственно, надо раздать обработчики чекам на onchange, двух типов. Первый обработчик вешается на value10 и проверяет, если с него снята галка, то пробежаться циклом по всем остальным чекам и снять галки с них. Второй вешается на все остальные чеки и проверяет, если на данном чеке галка, то поставить ее и на value10. Всё. Реализация - надо знать, как искать нужные элементы и как устанавливать значения атрибутов. Эти задачи решаются в вышеприведенных кусках кода, надо только его разобрать, пользуясь при необходимости мануалом, как на этом сайте, например. Учитесь.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #9 (permalink)  
Старый 31.03.2010, 14:20
Аспирант
Отправить личное сообщение для Georgiy Посмотреть профиль Найти все сообщения от Georgiy
 
Регистрация: 19.08.2009
Сообщений: 35

Сообщение от SkyLight Посмотреть сообщение
Учитесь.
Спасибо, то что надо. данный подход делает форум неважным

Последний раз редактировалось Georgiy, 31.03.2010 в 14:32.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шахматы JS (способы реализации) bass_x Элементы интерфейса 1 07.03.2010 21:36
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33