Как заблокировать несколько 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, время: 00:11. |