Подтвердить что ты не робот

Проверьте, проверен ли вход с помощью jquery

Как бы я этого добился:

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

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

Я знаю, что это неправильно, но вы понимаете, что я думаю:). Если есть вход, который проверен, добавьте состояние, если не выключено.

4b9b3361

Ответ 1

Попробуйте

if($(this).parent().find('input').is(':checked')) {
    something();
}

Это работает, если есть только один флажок.

Ответ 2

Это не обязательно неправильно, но селектор возвращает все элементы, которые применяются к условию. Поэтому вам нужно проверить, не длина ли 0:

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

Ответ 3

Это также работает, если вы знаете идентификатор входного элемента html:

if($('input#element_id_name:checked').length>0) {
  //your code here.
}

Ответ 4

Supposign input[type=checkbox] = this, вы можете проверить его на самом элементе.

Источник: jQuery docs

$("input[type=checkbox]").change(function(){
    if ( this.checked ){}
    //or
    if ( $(this).prop("checked") ){}   
    //or
    if ( $(this).is(":checked") ){}
});

Ответ 5

Попробуйте сделать это:

if ($(this).parent().find('input:checked').length > 0) {    
    $(this).find('.switch').attr('state','on');
} else {
    $(this).find('.switch').attr('state','off');
}

Предполагается, что у вас есть только 1 вход в пределах $(this).parent()

Ответ 6

Если вы знаете идентификатор, просто используйте:

if ($("#myCheckBox").is(":checked")) {  

}