检查是否使用jquery检查输入

时间:2011-05-26 20:21:50

标签: javascript jquery

我将如何实现这一目标:

if($(this).parent().find('input:checked') == true)

{$(this).find('.switch').attr('state','on');}
else{$(this).find('.switch').attr('state','off');}

我知道这是错的,但你知道我认为:)。如果存在已检查的输入,则在未关闭状态时添加状态。

6 个答案:

答案 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()

范围内只有1个输入