我将如何实现这一目标:
if($(this).parent().find('input:checked') == true)
{$(this).find('.switch').attr('state','on');}
else{$(this).find('.switch').attr('state','off');}
我知道这是错的,但你知道我认为:)。如果存在已检查的输入,则在未关闭状态时添加状态。
答案 0 :(得分:40)
尝试
if($(this).parent().find('input').is(':checked')) {
something();
}
如果只有一个复选框,则此方法有效。
答案 1 :(得分:6)
它不一定是错的,但选择器返回适用于该条件的所有元素。因此,您必须检查长度是否为0:
if($(this).parent().find('input:checked').length)
答案 2 :(得分:4)
如果您知道输入html元素的id:
,这也有效if($('input#element_id_name:checked').length>0) {
//your code here.
}
答案 3 :(得分:4)
支持input[type=checkbox] = this
,您可以在元素本身上查看它。
来源:jQuery docs
$("input[type=checkbox]").change(function(){
if ( this.checked ){}
//or
if ( $(this).prop("checked") ){}
//or
if ( $(this).is(":checked") ){}
});
答案 4 :(得分:2)
如果您知道ID,请使用:
if ($("#myCheckBox").is(":checked")) {
}
答案 5 :(得分:1)
尝试这样做:
if ($(this).parent().find('input:checked').length > 0) {
$(this).find('.switch').attr('state','on');
} else {
$(this).find('.switch').attr('state','off');
}
这假设您在$(this).parent()