1

通过ajax生成以下代码:

<div class="momento-rating-input">
    <div>Rate this post</div>
    <div>
        <input type="radio" name="rateit" value="3" style="margin: 0 0.5ex 3px;" class="ratems" />Good
        <input type="radio" name="rateit" value="2" style="margin: 0 0.5ex 3px;" class="ratems" />Average
        <input type="radio" name="rateit" value="1" style="margin: 0 0.5ex 3px;" class="ratems" />Bad
    </div>
</div>

现在在 Javascript/JQuery 中,我需要清除选定的收音机。我尝试以下代码。

$('input[type="radio"]').each(function(){
    if($(this).hasClass('ratems')){
        $(this).checked = false;
    }
});

上面的代码不起作用。我知道我们应该使用 JQueryliveon函数在 AJAX 生成的元素上注册事件。

但是,我不想注册任何事件,而是要清除不同事件中的单选按钮,即触发没有任何问题。

我怎样才能清除那些单选按钮?

少量上下文,如果需要:此代码在灯箱上实现,按左/右键更改图像。对于新图像,rating应清除单选按钮。

4

3 回答 3

1

您应该尝试替换$(this).checked = false;$(this).removeAttr('checked');.

于 2012-10-05T10:37:59.780 回答
1

只需checked从元素中删除属性:

$('input[type="radio"].ratems').removeAttr("checked");
于 2012-10-05T10:31:42.347 回答
1

您可以尝试取消选中带有类名的单选按钮ratems

$('input[type="radio"].ratems').prop('checked', false);

而不是使用$('input[type="radio"]').each(..)

于 2012-10-05T10:41:28.563 回答