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

ICheck проверить, установлен ли флажок

Я использую плагин iCheck для настройки флажков. Мне нужно отобразить определенный текст, если установлен флажок один или несколько, и скрыть текст, если ни один из них не установлен.

Код, который у меня есть, в настоящее время отображает текст при первом щелчке, но не скрывает его, если я не нажимаю еще 2 раза. У меня есть несколько флажков и вы хотите показать текст, если один из них отмечен иначе, скрывает текст. Кто-нибудь знает? Плагин имеет:

ifChecked
ifChanged
ifClicked
ifUnchecked
ifToggled
ifDisabled
ifEnabled.......

обратные вызовы.... Вот функция плагина

$('input').iCheck({ 
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});

Вот что я пробовал..

$('input').on('ifChecked', function(event){
$(".hide").toggle();
});

HTML

<input type="checkbox">
<div class"hide" style="display:none">Hi there</div>
4b9b3361

Ответ 1

Для тех, кто борется с этим:

const value = $('SELECTOR').iCheck('update')[0].checked;

Это напрямую возвращает true или false как boolean.

Ответ 2

вы можете получить значение флажка и статус

$('.i-checks').on('ifChanged', function(event) {
    alert('checked = ' + event.target.checked);
    alert('value = ' + event.target.value);
});

Ответ 3

Проверьте это:

var checked = $(".myCheckbox").parent('[class*="icheckbox"]').hasClass("checked");

if(checked) {
  //do stuff
}

Ответ 4

Все обратные вызовы и функции описаны здесь: http://fronteed.com/iCheck/#usage

$('input').iCheck('check'); — change input state to checked
$('input').iCheck('uncheck'); — remove checked state
$('input').iCheck('toggle'); — toggle checked state
$('input').iCheck('disable'); — change input state to disabled
$('input').iCheck('enable'); — remove disabled state
$('input').iCheck('indeterminate'); — change input state to indeterminate
$('input').iCheck('determinate'); — remove indeterminate state
$('input').iCheck('update'); — apply input changes, which were done outside the plugin
$('input').iCheck('destroy'); — remove all traces of iCheck

Ответ 5

Вам просто нужно использовать обратные вызовы из документации: https://github.com/fronteed/iCheck#callbacks

$('input').on('ifChecked', function(event){
  alert(event.type + ' callback');
});

Ответ 6

Я написал несколько простых вещей:

Когда вы инициализируете icheck как:

$('input').iCheck({
    checkboxClass: 'icheckbox_square-blue',
    radioClass: 'iradio_square-blue',
    increaseArea: '20%' // optional
});

Добавьте сюда этот код:

$('input').on('ifChecked', function (event){
    $(this).closest("input").attr('checked', true);          
});
$('input').on('ifUnchecked', function (event) {
    $(this).closest("input").attr('checked', false);
});

После этого вы можете легко найти свое исходное состояние флажка. Я написал этот код для использования icheck в gridView и получил доступ к его состоянию со стороны сервера на С#.

Просто найдите свой checkbox с его id.

Ответ 7

Чтобы узнать, установлен ли флажок iCheck

var isChecked = $("#myicheckboxid").prop("checked");

Ответ 8

Используйте этот код для iCheck:

$('.i-checks').iCheck({
    checkboxClass: 'icheckbox_square-green',
    radioClass: 'iradio_square-green',
}).on('ifChanged', function(e) {
    // Get the field name
    var isChecked = e.currentTarget.checked;

    if (isChecked == true) {

    }
});

Ответ 9

Вызов

element.iCheck('update');

Чтобы получить обновленную разметку для элемента

Ответ 10

Используйте следующий код, чтобы проверить, проверен ли iCheck или нет, используя один метод.

$('Selector').on('ifChanged', function(event){

    //Check if checkbox is checked or not
    var checkboxChecked = $(this).is(':checked');

    if(checkboxChecked) {
        alert("checked");
    }else{
        alert("un-checked");
    }
});

Ответ 11

$('input').on('ifChanged', function(event) {
             if($(".checkbox").is(":checked")) {
                $value = $(this).val();
             }

             else if($(".checkbox").is(":not(:checked)")) {
                $value= $(this).val();
             }
        });

Ответ 12

это работает для меня... попробуйте

// Check #x
$( "#x" ).prop( "checked", true );
 
// Uncheck #x
$( "#x" ).prop( "checked", false );

Ответ 13

Вы можете обернуть все свои флажки в родительском классе и проверить длину .checked..

if( $('.your-parent-class').find('.checked').length ){
  $(".hide").toggle();
}

Ответ 14

Используйте этот метод:

$(document).on('ifChanged','SELECTOR', function(event){
  alert(event.type + ' callback');
});

Ответ 15

Из Вьетнама с любовью: 3

$(' input.selectAll').on('ifChanged', function(e){
    var isChecked = e.currentTarget.checked;
    if (isChecked === true) {         
$('input.rows-check').prop('checked', true).trigger('change');
    } else {
$('input.rows-check').prop('checked',false).trigger('change');
    }
});

input.rows-check - все входные данные нужно проверить или снять