iCheck检查复选框是否已选中

use*_*683 53 javascript checkbox jquery icheck

我正在使用iCheck插件来自定义复选框.我需要在选中一个或多个复选框时显示某些文本,并在未选中任何复选框时隐藏文本.

我当前的代码在第一次单击时显示文本,但不会隐藏它,除非我再单击2次.我有多个复选框,如果选中其中一个,则显示文本,否则隐藏文本.有人有任何想法吗?该插件有:

ifChecked
ifChanged
ifClicked
ifUnchecked
ifToggled
ifDisabled
ifEnabled.......
Run Code Online (Sandbox Code Playgroud)

回调....这是插件功能

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

这是我试过的..

$('input').on('ifChecked', function(event){
$(".hide").toggle();
});
Run Code Online (Sandbox Code Playgroud)

HTML

<input type="checkbox">
<div class"hide" style="display:none">Hi there</div>
Run Code Online (Sandbox Code Playgroud)

Ser*_*mir 59

对于那些与之斗争的人:

const value = $('SELECTOR').iCheck('update')[0].checked;
Run Code Online (Sandbox Code Playgroud)

这直接返回truefalse作为boolean.


小智 28

你可以通过获得复选框和状态的值

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


Moh*_*ami 21

检查一下:

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

if(checked) {
  //do stuff
}
Run Code Online (Sandbox Code Playgroud)

  • 这不行.我正在收集许多iCkeck-boxed的`checked`class状态,但是设置`check`类的代码比我读取类的特定代码要慢.因此,这种方法存在时间问题,应该避免. (3认同)

Eva*_*ans 14

所有回调和函数都记录在这里:http://fronteed.com/iCheck/#usage

$('input').iCheck('check'); — change input's state to checked
$('input').iCheck('uncheck'); — remove checked state
$('input').iCheck('toggle'); — toggle checked state
$('input').iCheck('disable'); — change input's state to disabled
$('input').iCheck('enable'); — remove disabled state
$('input').iCheck('indeterminate'); — change input's 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
Run Code Online (Sandbox Code Playgroud)


小智 12

您只需要使用文档中的回调:https: //github.com/fronteed/iCheck#callbacks

$('input').on('ifChecked', function(event){
  alert(event.type + ' callback');
});
Run Code Online (Sandbox Code Playgroud)

  • 怎么回事这个问题呢?问题很清楚如何确定是否选中了复选框,而不是提出了什么类型的事件! (27认同)

小智 6

我写了一些简单的事情:

初始化icheck为:

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

在其下添加此代码:

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

在此之后,您可以轻松找到原始复选框的状态.我编写了这段代码,用于icheckgridViewC#中从服务器端访问和访问它的状态.

只需从其ID中找到您的复选框即可.

  • 这就是我一直在iCheck中所缺少的!谢谢。 (2认同)

Abd*_*zad 5

将此代码用于 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) {

    }
});
Run Code Online (Sandbox Code Playgroud)


Ram*_*tap 5

要知道iCheck框是否已选中

var isChecked = $("#myicheckboxid").prop("checked");
Run Code Online (Sandbox Code Playgroud)