使用jQuery制作像收音机一样的复选框如何取消选中?包括小提琴

时间:2011-10-13 14:11:10

标签: jquery checkbox

我正在使用此代码使复选框像单选按钮一样。我可以添加/更改什么,以便在单击复选框时取消选中它?

http://jsfiddle.net/peter/4Awf9/

$(".radiounique").click(function() {
$(".radiounique").removeAttr('checked');
$(this).attr('checked', true);
});

<input type="checkbox" class="radiounique" value="3">
<input type="checkbox" class="radiounique" value="4">
<input type="checkbox" class="radiounique" value="2">
<input type="checkbox" class="radiounique" value="1">

3 个答案:

答案 0 :(得分:3)

如果你想让它像无线电按钮一样 -

可以尝试 -

$(".radiounique").click(function() {
    var state = $(this).is(':checked');
    $(".radiounique").removeAttr('checked');
    $(this).attr('checked', state );
});

小提琴 - http://jsfiddle.net/4Awf9/1/

答案 1 :(得分:1)

这是一个常见的错误。 Radiobuttons是radiobuttons,复选框是复选框。不要通过更改复选框列表功能来模拟radiobutton列表来混淆用户。这是非常糟糕的做法。

顺便说一下,如果你禁用了javascript,它仍然可以检查多个框。

我知道这不是你想要的答案,但这是事实。

答案 2 :(得分:0)

    $(".radiounique").click(function() {

        var clicked = $(this);

        $(".radiounique").each(function(){
            if($(clicked[0]).attr('value') != $(this).attr('value'))
                 $(this).attr('checked', false);     
        })

    if($(this).attr('checked') == 'checked')
            $(this).attr('checked', true);

});