jquery: RadiobuttonGroup 检查之前是否选择了元素

jquery: RadiobuttonGroup check if element was selected before

我有一个 radiobuttonGroup,如果在触发点击之前选择了被点击的单选按钮,我想执行一个操作。这是可能的还是我必须将当前点击的值存储在隐藏字段中,然后与新点击的单选按钮进行比较? 我需要知道这一点的原因是,我想在再次单击收音机时取消选择所有收音机。

<input type="radio" id="star6" name="rating" class="cat" value="6"/>
<input type="radio" id="star5" name="rating" class="cat" value="5"/>
<input type="radio" id="star4" name="rating" class="cat" value="4"/>
<input type="radio" id="star3" name="rating" class="cat" value="3" >
<input type="radio" id="star2" name="rating" class="cat" value="2"/>
<input type="radio" id="star1" name="rating" class="cat" value="1"/>

当我做这个时,单选按钮总是用我的 if 子句选中:

$('.cat').on('select', function() {
            if($(this).is(':checked')) {
              //deselect all radio's
            }
        });

谢谢!

您不需要隐藏字段来执行此操作...您只需在单击时将 class 分配给输入即可。

这是一个功能示例: http://jsfiddle.net/leojavier/o8z4monj/3/

$('.cat').on('click', function() {
    if($(this).hasClass('clicked')) {
        $('.cat').each(function(){
            $(this).prop('checked',false);
        });
    }else{
        $(this).addClass('clicked');
    }
});