我一直在试图弄清楚如何在单击时将“选中”属性添加到复选框中。我想这样做的原因是,如果我选中一个复选框,我可以让我的本地存储将其保存为html,这样当页面刷新时,它会注意到复选框被选中。从现在起,如果我选中它,它会淡出父级,但如果我保存并重新加载它,它将保持淡入淡出状态,但复选框未选中。
我试过做$(this).attr(' checked ');但它似乎不想添加checked。
编辑:在阅读评论后,我似乎没有说清楚。我的默认输入标签是:
<input type="checkbox" class="done">
我需要它的顶部是这样的,当我点击复选框时,它会在它的末尾添加“选中”。例如:
<input type="checkbox" class="done" checked>
我需要它这样做,这样当我将html保存到本地存储时,当它加载时,它会将复选框呈现为选中状态。
$(".done").live("click", function(){
if($(this).parent().find('.editor').is(':visible') ) {
var editvar = $(this).parent().find('input[name="tester"]').val();
$(this).parent().find('.editor').fadeOut('slow');
$(this).parent().find('.content').text(editvar);
$(this).parent().find('.content').fadeIn('slow');
}
if ($(this).is(':checked')) {
$(this).parent().fadeTo('slow', 0.5);
$(this).attr('checked'); //This line
}else{
$(this).parent().fadeTo('slow', 1);
$(this).removeAttr('checked');
}
});
发布于 2010-08-05 01:37:36
$( this ).attr( 'checked', 'checked' )
attr( 'checked' )
将返回$( this )的checked属性的值。要设置它,您需要第二个参数。基于<input type="checkbox" checked="checked" />
编辑:
基于注释,更合适的操作应该是:
$( this ).attr( 'checked', true )
和一个直接的javascript方法,更合适,更有效:
this.checked = true;
感谢@Andy E。
发布于 2013-04-18 00:06:31
如果.attr()
不适用于您(特别是在连续选中和取消选中框时),请使用.prop()
而不是.attr()
。
发布于 2020-06-22 03:37:40
一个简单的答案是在复选框中添加checked
属性:
$('input[id='+$(this).attr("id")+']').attr("checked", "checked");
https://stackoverflow.com/questions/3408150
复制相似问题