通过单击取消选中单选按钮

时间:2013-09-29 06:07:45

标签: performance radio-button

<table class="table">
    <tr>
        <td>
            <input type="radio" id="radio1" name="1" checked="checked" class="radio"/>
        </td>        
        <td>        
          <input type="radio" id="radio2" name="1" checked="checked" class="radio"/>
        </td>
    </tr>
</table>

我想要遵循无线电组的默认行为,但是还有一个功能,假设选择了任何无线电,现在如果选择/点击相同的无线电,那么它将自行取消选中。我曾尝试使用'mouseup'事件,但它不能正常工作

function radioSearchFn(obj)
{
    if(obj.checked == true)
    {
        obj.checked = false;
        obj.removeAttribute("checked");

    }
}

DEMO

2 个答案:

答案 0 :(得分:0)

回答你的问题here

单选按钮是必需的,因此必须始终检查其中一个按钮。如果您希望此属性消失,则需要使用复选框,这些复选框旨在满足您的需求。

More about checkboxes

如果您仍然坚持使用单选按钮,请尝试this JQuery代码,在我提到的帖子中用另一个答案编写。

var radio_button=false;
$('.radio-button').on("click", function(event){
    var this_input=$(this);
        if(this_input.attr('checked1')=='11')
    {

        this_input.attr('checked1','11')



    }
    else
    {
        this_input.attr('checked1','22')

    }
    $('.radio-button').prop('checked', false);
    if(this_input.attr('checked1')=='11')
    {
        this_input.prop('checked', false);
        this_input.attr('checked1','22')
    }
    else{
        this_input.prop('checked', true);
        this_input.attr('checked1','11')
    }

});

答案 1 :(得分:0)

这很容易,您可以添加一个属性,而不是第一次选中单选按钮。稍后,您检查此新属性以进行下一个更改。示例:

$("input[type='radio']").change(function () {
         $(this).attr('checked_status', true);
});

$("input[type='radio']").click(function () {
    if ($(this).attr('checked_status')) {
        $(this).prop('checked', false);
        $(this).attr('checked_status', false);
    }
});