Как заблокировать несколько 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() |
$(".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 |
в одной форме выводятся все вопросы с ответами,
если я правильно понял должно быть так: <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);
}
});
но ничего не работает... |
Ай не хорошо ведь обманывать:
<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>
|
выяснил почему у меня не работало,y меня была подключена старая версия jQuery ( JavaScript Library v1.4.2 ) и сработало только когда prop заменил на attr, а у вас jQuery JavaScript Library v1.9.1 :) срочно обновляюсь
|
| Часовой пояс GMT +3, время: 14:16. |