Задать вопрос

Как проверить checkbox и снять галочку с другого?

Добрый день! Имеется форма. В ней есть два checkboxа. Выбрать можно только либо 1 либо 2. Помогите сделать, чтобы при клике, допустим, по первому со второго снималась галочка, и наоборот, при клике по второму первый отмечался неотмеченным. Желательно на jQuery какой-то образец. Пробовал вот так:
$(function () {
    var checkTaxi = $('#taxi');
    var checkUcheb = $('#ucheb');
	
	if($(checkTaxi).is(':checked')==true) 
		{ 
			checkUcheb.iCheck('uncheck');
	}
	if($(checkUcheb).is(':checked')==true) 
		{ 
			checkTaxi.iCheck('uncheck');
	}
	else 
	{ 
			checkTaxi.iCheck('uncheck');
			checkUcheb.iCheck('uncheck');
	}

});

ничего не вышло. Кстати, подключен плагин iCheck.
  • Вопрос задан
  • 13797 просмотров
Подписаться 6 Оценить 2 комментария
Решения вопроса 2
nSnayp
@nSnayp
<input type='checkbox' id='taxi' onchange="checkk(this);"/>
<input type='checkbox' id='ucheb' onchange="checkk(this);"/> 

<script>
  function checkk(elem) {
    var id = elem.id;
	if(id=='taxi') { 
    $('#ucheb').removeAttr("checked");	
  }
  if(id=='ucheb') { 
    $('#taxi').removeAttr("checked");	
  }
  
}
</script>
Ответ написан
rafuck
@rafuck
Это, конечно, ужасно. Но как-то так:
<input type="checkbox" name="taxi"  class="radio-a" />
	<input type="checkbox" name="ucheb" class="radio-a" />

	<script type="text/javascript"><!--//
		(function (){
			var radioA = document.getElementsByClassName('radio-a');

			for (var i=0; i<radioA.length; ++i){
				radioA[i].addEventListener('click', function(){
					if (this.checked){
						for (var j=0; j<radioA.length; ++j){
							radioA[j].checked = false;
						}
						this.checked = true;
					}
				}, false); 
			}
		})();
	//-->
	</script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
IgorO2
@IgorO2
73
для этого существует тип "radio"
jsfiddle.net/r6kaq
Ответ написан
@begemot_nn
как вам уже написали выше - используйте radio, если хотите, чтобы они выглядели как чекбоксы, стилизуйте их.
Ответ написан
Brugen
@Brugen
HTML верстальщик
<div id="id">
	<input type="checkbox">checkbox 1
	<input type="checkbox">checkbox 2
	<input type="checkbox">checkbox 3
</div>

<script>
$('#id input:checkbox').click(function(){
	if ($(this).is(':checked')) {
		 $('#id input:checkbox').not(this).prop('checked', false);
	}
});
</script>

Выбор только одного чекбокса с блока #id
Ответ написан
Комментировать
IgorO2
@IgorO2
73
JS =)
document.getElementById('checkTaxi').removeAttribute("checked")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы