[英]JS triggered checkbox's checked attr doesn't dynamically change
我的问题确实很简单,我有一个隐藏的复选框和一个触发真实复选框的自定义假复选框。 我尝试了多种方法,但click
功能仅在开始而不是停止时起作用。
我已经对stackoverflow提出了类似的问题,但是找不到与我类似的问题。 感谢您的时间。
的HTML:
<div class="fl">
<span class="tri_checkbox"></span>
<input class="hidden_checkbox" type="checkbox" />
</div>
jQuery的:
$(document).on('click','.tri_checkbox',function() {
if ( !$(this).hasClass('selected') ) {
$(this).parent().find('input.hidden_checkbox').attr('checked','checked');
$(this).addClass('selected');
}else{
$(this).parent().find('input.hidden_checkbox').removeAttr('checked');
$(this).removeClass('selected');
}
});
缩短您的代码,然后尝试以下操作:
$(this).toggleClass("selected");
$(this).parent(".fl").find(":checkbox").prop("checked", $(this).hasClass("selected"));
演示: http : //jsfiddle.net/CVWWn/4/
或者只使用一条大链条:
$(this).toggleClass("selected").parent(".fl").find(":checkbox").prop("checked", $(this).hasClass("selected"));
大连锁店: http : //jsfiddle.net/CVWWn/5/
。
$(document).on('click','.tri_checkbox',function() {
if ( $(this).hasClass('selected') ) {
$(this).siblings('input.hidden_checkbox').prop('checked', false);
$(this).removeClass('selected');
}
else {
$(this).siblings('input.hidden_checkbox').prop('checked', 'checked');
$(this).addClass('selected');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.