以下代码是通过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;
}
});
以上代码无效。我知道我们应该使用JQuery live
或on
函数在AJAX生成的元素上注册事件。
但是,我不想注册任何事件,而是要清除其他事件中的单选按钮,这样就没有任何问题。
如何清除这些单选按钮?
小上下文,如果需要:此代码在灯箱上实现,按左/右键可更改图像。对于新图像,应清除rating
单选按钮。
答案 0 :(得分:1)
只需从元素中删除checked
属性:
$('input[type="radio"].ratems').removeAttr("checked");
答案 1 :(得分:1)
您应尝试将$(this).checked = false;
替换为$(this).removeAttr('checked');
。
答案 2 :(得分:1)
您可以尝试此操作取消选中类名为ratems
$('input[type="radio"].ratems').prop('checked', false);
而不是使用$('input[type="radio"]').each(..)