Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2013, 18:32
Новичок на форуме
Отправить личное сообщение для wofat Посмотреть профиль Найти все сообщения от wofat
 
Регистрация: 23.03.2013
Сообщений: 4

Как заблокировать несколько checkbox?
Доброго времени суток!

Допустим в одно вопросе имеется 5 вариантов ответа,если пользователь выберет 3 ответа все 5 блокируются:

$(".chbox").click( function () {
			var c = $(".chbox:checked").length;
			//alert(c);
			if(c>2)
			{
				$(".chbox").attr("disabled",true);
			}	
	});

для 1 вопроса это срабатывает,но если вопросов больше одного то всё блокируется,какое решение тут может быть ?

пробовал генерировать разные классы для каждого вопроса с вариантами ответов:
echo 'class="chbox_$i"';

затем через
var class = $("input").attr("class")
получал названия классов,только ведь переменная не подставляется в
$(class).click()
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2013, 18:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$(".chbox").click( function () {
    var form = $(this).closest('form');
    var c = $(".chbox:checked", form).length;
    //alert(c);
    if(c>2)
    {
        $(".chbox", form).prop("disabled", true);
    }  
});

Это если вопросы сгруппированы в отдельные <form>. Если иначе - можно использовать любой другой селектор, например .form
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2013, 19:14
Новичок на форуме
Отправить личное сообщение для wofat Посмотреть профиль Найти все сообщения от wofat
 
Регистрация: 23.03.2013
Сообщений: 4

в одной форме выводятся все вопросы с ответами,
если я правильно понял должно быть так:
<form>
<div>
<p><input  type="checkbox" name="1" value="" class="chbox" /></p>
<p><input  type="checkbox" name="2" value="" class="chbox"   /></p>
<p><input  type="checkbox" name="3" value="" class="chbox"  /></p>
<p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
<p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
<hr>
</div>

<div>
<p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
<p><input  type="checkbox" name="2" value="" class="chbox"    /></p>
<p><input  type="checkbox" name="3" value="" class="chbox"  /></p>
<p><input  type="checkbox" name="4" value="" class="chbox"   /></p>
<p><input  type="checkbox" name="4" value="" class="chbox"   /></p>
<hr>
</div>
</form>
.......................


$(".chbox").click( function () {
    var form = $(this).closest('div');
    var c = $(".chbox:checked", form).length;
    //alert(c);
    if(c>2)
    {
        $(".chbox", form).prop("disabled", true);
    } 
});


но ничего не работает...
Ответить с цитированием
  #4 (permalink)  
Старый 23.03.2013, 19:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ай не хорошо ведь обманывать:
<form>
<div>
    <p><input  type="checkbox" name="1" value="" class="chbox" /></p>
    <p><input  type="checkbox" name="2" value="" class="chbox"   /></p>
    <p><input  type="checkbox" name="3" value="" class="chbox"  /></p>
    <p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
    <p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
    <hr>
</div>
 
<div>
    <p><input  type="checkbox" name="4" value="" class="chbox"  /></p>
    <p><input  type="checkbox" name="2" value="" class="chbox"    /></p>
    <p><input  type="checkbox" name="3" value="" class="chbox"  /></p>
    <p><input  type="checkbox" name="4" value="" class="chbox"   /></p>
    <p><input  type="checkbox" name="4" value="" class="chbox"   /></p>
    <hr>
</div>
</form>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
$(".chbox").click( function () {
    var form = $(this).closest('div');
    var c = $(".chbox:checked", form).length;
    //alert(c);
    if(c>2)
    {
        $(".chbox", form).prop("disabled", true);
    } 
});
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2013, 19:54
Новичок на форуме
Отправить личное сообщение для wofat Посмотреть профиль Найти все сообщения от wofat
 
Регистрация: 23.03.2013
Сообщений: 4

выяснил почему у меня не работало,y меня была подключена старая версия jQuery ( JavaScript Library v1.4.2 ) и сработало только когда prop заменил на attr, а у вас jQuery JavaScript Library v1.9.1 срочно обновляюсь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выделить нужные checkbox одним кликом? MCB Общие вопросы Javascript 7 11.03.2012 22:27
как создать в цикле несколько дочерних элементов одного уровня? DimonCry Общие вопросы Javascript 11 13.01.2011 10:46
Как сделать несколько списков? alabamaman Элементы интерфейса 0 25.02.2010 14:19
Как организовать RichEdit arma Элементы интерфейса 2 18.02.2010 14:57
Как обработать несколько элементов подряд? vladymyrk jQuery 1 07.01.2009 20:33