Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2011, 13:23
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

Выбор только 1 значения chexbox
Здравствуйте. На странице стоит несколько checkbox. Как сделать так, чтобы пользователь мог выбрать только одно значение(мог поставить только 1 галочку), а если он выбрал 1 checkbox на других бы галочки убирались (checkbox около 100)
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2011, 16:29
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

var handler = function ( event ){
  event = event || window.event;
  var target = event.target || event.srcElement;
  if ( target.nodeType == 1 && target.nodeName.toLowerCase == "input" && target.type == "checkbox" && target.checked ) {
    var inputs = document.getElementsByTagName("input");
    for ( var i = 0; inputs[i]; i++ ) {
      if ( inputs[i].type="checkbox" && inputs != target ) {
        inputs[i].checked = false;
      }
    }
  }
}
if (document.body.addEventListener){
  document.body.addEventListener('click', handler, false); 
} else if (document.body.attachEvent){
  document.body.attachEvent('onclick', handler);
}
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2011, 22:00
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

скажите а как использовать?
я вставил этот скрипт между <script></script>,
но галки все равно ставятся
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2011, 22:51
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
	<ol>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
		<li><input type="checkbox" name="" id=""/></li>
	</ol>
	<script type="text/javascript">
		var handler = function ( event ){
		  event = event || window.event;
		  var target = event.target || event.srcElement;
		  if ( target.nodeType == 1 && target.nodeName.toLowerCase() == "input" && target.type == "checkbox" && target.checked ) {
			var inputs = document.getElementsByTagName("input");
			for ( var i = 0; inputs[i]; i++ ) {
			  if ( inputs[i].type == "checkbox" && inputs[i] != target ) {
				inputs[i].checked = false;
			  }
			}
		  }
		}
		if (document.addEventListener){
		  document.addEventListener('click', handler, false); 
		} else if (document.attachEvent){
		  document.attachEvent('onclick', handler);
		}
	</script>
</body>
</html>

Последний раз редактировалось nikita.mmf, 19.06.2011 в 22:53.
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2011, 22:59
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

спасибо. изините за нескромность, но последний вопрос:

к примеру есть несколько chexbo:

chexbox0
chexbox1
chexbox2
chexbox3
.....
chexboxN
как сделать так, чтобы при нажатии на chexbox0 с остальных chexbox галочка снималась, а при нажатии на любой другой, снималась галочка с chexbox0 ?
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2011, 09:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,157

Сообщение от Amateur
к примеру есть несколько chexbo
Сделай нормальный тестовый пример. И покажи что сам уже пытался сделать...
Ответить с цитированием
  #7 (permalink)  
Старый 21.06.2011, 11:31
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

<div>
 <input id="chexbox0" type="checkbox" onClick="selCheckbox(this);"/>
 <input id="chexbox1" type="checkbox" onClick="selCheckbox(this);"/>
 <input id="chexbox2" type="checkbox" onClick="selCheckbox(this);"/>
 <input id="chexbox3" type="checkbox" onClick="selCheckbox(this);"/>
</div>
 <script>
function selCheckbox(obj)
{
    var parent = obj.parentNode;
    if (obj.id != 'chexbox0')
        parent.getElementById('checkbox0').checked = false;
    else
    {
        var checks = parent.getElementsByTagName('input');
        for(var i in checks)
        {
            if (checks[i].id != obj.id)
                checks[i].checked = false;
        }
    }
}
 </script>


но данный скрипт позволяет выбирать все значения, а мне нужно, чтобы при выборе любого другого chexbox, кроме chexbox0, с chexbox0 убиралась галочка (checked = false).

Но как это сделать?
Ответить с цитированием
  #8 (permalink)  
Старый 21.06.2011, 12:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,157

Сообщение от Amateur
Но как это сделать?
Проверять первый это чекбокс или нет...
Ответить с цитированием
  #9 (permalink)  
Старый 21.06.2011, 13:03
Аспирант
Отправить личное сообщение для Amateur Посмотреть профиль Найти все сообщения от Amateur
 
Регистрация: 07.03.2010
Сообщений: 88

это любому понятно. но я спрашиваю не потому, что не знаю алгоритма, а потому, что непонятен процесс реализации(((
Ответить с цитированием
  #10 (permalink)  
Старый 21.06.2011, 13:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,157

Amateur, это букварская задачка. Её дают сааамым новичкам при изучении языка и ДОМ-модели... Что именно в ней может быть не понятно?
Как работать с элементами и всё нужное из js есть в твоём же примере.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Вытащить со страницы все значения name и value из тегов <input> qwr938 Общие вопросы Javascript 8 13.02.2011 15:16
Окно открывается только один раз altermann ExtJS 8 22.04.2010 11:55
Передать все значения списка разом LRCenter Элементы интерфейса 10 23.06.2009 12:29
Выбор только одного чекбокса nashekino Общие вопросы Javascript 7 23.10.2008 00:23