Javascript i如果选中复选框,则选中复选框

Javascript i如果选中复选框,则选中复选框,javascript,jquery,checkbox,icheck,Javascript,Jquery,Checkbox,Icheck,我使用iCheck插件定制复选框。我需要在选中一个或多个复选框时显示某些文本,在未选中任何复选框时隐藏文本 我当前使用的代码在第一次单击时显示文本,但除非我再单击两次,否则不会隐藏文本。 我有多个复选框,如果其中一个被选中,我想显示文本,否则隐藏文本。 有人知道吗?该插件具有: ifChecked ifChanged ifClicked ifUnchecked ifToggled ifDisabled ifEnabled....... 回调…这里是插件函数 $('input').iCheck(

我使用iCheck插件定制复选框。我需要在选中一个或多个复选框时显示某些文本,在未选中任何复选框时隐藏文本

我当前使用的代码在第一次单击时显示文本,但除非我再单击两次,否则不会隐藏文本。 我有多个复选框,如果其中一个被选中,我想显示文本,否则隐藏文本。 有人知道吗?该插件具有:

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


您只需要使用文档中的回调:

选中此项:

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

if(checked) {
  //do stuff
}

此处记录了所有回调和函数:

召唤


要获取元素上的更新标记,请执行以下操作:

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

这将直接返回布尔值形式的true或false。

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

    }
});

我写了一些简单的东西:

当您将icheck初始化为:

在下面添加此代码:

$('input').on('ifChecked', function (event){
    $(this).closest("input").attr('checked', true);          
});
$('input').on('ifUnchecked', function (event) {
    $(this).closest("input").attr('checked', false);
});
在此之后,您可以轻松找到原始复选框的状态。 我为在gridView中使用icheck编写了这段代码,并通过C从服务器端访问了它的状态


只需从其id中找到您的复选框。

即可知道iCheck框是否已选中

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

这对我有用。。。试试看

//支票x $x.道具已检查,正确; //取消选中x
$x.道具已检查,为假 您可以将所有复选框包装在父类中,并检查.checked.的长度


您可以通过以下方式获取复选框的值和状态:

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

使用以下代码检查是否使用单个方法选中了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");
    }
});
使用此方法:

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

如果任何人对多个icheck有任何兴趣。然后你可以用下面的一个:

$("#mother_checkbox").on("ifChanged", function(){
        if($(this).is(':checked')) {
            $('.child_checkbox').prop('checked', true);
            $('.child_checkbox').iCheck('update');
        }
        else{
            $('.child_checkbox').prop('checked', false);
            $('.child_checkbox').iCheck('update');
        }
});
它将选中/取消选中所有子复选框。
你好

这可能会给你一些指导:p.S.帖子有点复杂,我想我会粘贴is':checked'标志,这样你就可以相应地使用它了。轻弹一声JSFIDLE我应该能帮你。这对这个问题有什么反应?问题很清楚,如何确定复选框是否被选中,而不是引发了什么类型的事件!!这就是我一直在艾切克身上错过的!谢谢。我会考虑指定选择器:输入[type=复选框],输入[type=收音机],这个效果不太好。我正在收集许多已装箱iCkeck的checkedclass状态,但是设置check类的代码比读取该类的特定代码慢。因此,此方法存在计时问题,应该避免。这里需要传递什么来代替选择器?例如,如果要选择需要使用的类,则需要传递jquery选择器。myClass如果要选择id,则应使用MyID谢谢,在使用jquery检查输入时,此方法也有效!对我来说,返回未定义。TypeError:无法读取的属性“checked”undefined@SercanOzdemir伙计,你真是太棒了
var isChecked = $("#myicheckboxid").prop("checked");
if( $('.your-parent-class').find('.checked').length ){
  $(".hide").toggle();
}
$('.i-checks').on('ifChanged', function(event) {
    alert('checked = ' + event.target.checked);
    alert('value = ' + event.target.value);
});
$('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");
    }
});
$('input').on('ifChanged', function(event) {
             if($(".checkbox").is(":checked")) {
                $value = $(this).val();
             }

             else if($(".checkbox").is(":not(:checked)")) {
                $value= $(this).val();
             }
        });
$(document).on('ifChanged','SELECTOR', function(event){
  alert(event.type + ' callback');
});
$("#mother_checkbox").on("ifChanged", function(){
        if($(this).is(':checked')) {
            $('.child_checkbox').prop('checked', true);
            $('.child_checkbox').iCheck('update');
        }
        else{
            $('.child_checkbox').prop('checked', false);
            $('.child_checkbox').iCheck('update');
        }
});