Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   только 1 отмеченый checkbox (https://javascript.ru/forum/jquery/21696-tolko-1-otmechenyjj-checkbox.html)

Black_Prince 21.09.2011 11:02

Человек, ты вообще читаешь что тебе советуют?
то что ты просишь - называется быдлокодингом... не верб что нельзя поменять типы с чекбоксов на радио. Но фиг с тобой золотая рыбка - вот тебе код:

вот тебе чекбоксы
<input type="checkbox" name="a" value="1"/>1<br/>
        <input type="checkbox" name="a" value="2"/>2<br/>
        <input type="checkbox" name="a" value="3"/>3<br/>
        <input type="checkbox" name="a" value="4"/>4<br/>
        <input type="checkbox" name="a" value="5"/>5<br/>
        <input type="checkbox" name="a" value="6"/>6<br/>


вот тебе хрень, которая выбирает только 1 чекбокс. Работает так же как и радиобаттоны.
$(document).ready(function(){
                $('input[name=a]').change(function(){
                    $('input[name=a]').attr('checked', '');
                    $(this).attr('checked', 'true');
                })
            })

zaqwer 04.10.2011 23:36

Цитата:

Сообщение от Black_Prince (Сообщение 127468)
вот тебе хрень, которая выбирает только 1 чекбокс

действительно хрень )
мой вариант лучше )
Код:

$("input[type=checkbox][name^=n]").bind('change', function(){
			$("input[type=checkbox][name^=n]").not($(this)).attr('checked',false);		
							})

минимум потому что работает быстрее
:p

zebra 05.10.2011 03:28

Работает быстрее, но с ошибкой :)

kostr 05.10.2011 23:15

$(function(){
 $('input[type=checkbox]').change(function() {
  if (this.checked) {
   var check = $("input[type=checkbox]");
   for (var i = 0; i < check.length; i++)
    if (check[i] != this)
      check[i].checked = false;
  }
 });
});

melky 05.10.2011 23:57

нафиг циклы? запоминайте последний чекбокс и все дела.
<input type="checkbox" name="a" value="1"/>1<br/>
        <input type="checkbox" name="a" value="2"/>2<br/>
        <input type="checkbox" name="a" value="3"/>3<br/>
        <input type="checkbox" name="a" value="4"/>4<br/>
        <input type="checkbox" name="a" value="5"/>5<br/>
        <input type="checkbox" name="a" value="6"/>6<br/>

<script>
var last={}, ie=/*@cc_on@*/0;

document.body.onclick=function(e){
    e=ie?event.scrElement:e.target;
    if(e.name!="a"&&e.type!="checkbox") return;
    last.checked=false;
    e.checked=true;
    last=e;
}
</script>


Часовой пояс GMT +3, время: 13:38.