iCheck复选框选择全部,并刷新数据表

时间:2015-10-07 14:09:00

标签: javascript jquery html checkbox icheck

我在引导程序中使用iCheck作为复选框样式,但我遇到了一些问题,我无法检查/取消选中所有问题,并且dotn工作刷新数据表及时,需要刷新页面或者页面刷新了它的页面。

和premium或public中的复选框,当我选择它时将保持检查状态,然后我将重新加载页面,

<div class="table-responsive">
    <table class="table">
        <!-- Start Header -->
        <thead>
            <tr>
                <th>
                    <label class="checkbox checkbox-inline">
                        <input type="checkbox" name="file_id" value="0">
                    </label>
                </th>
                <th>Text Name</th>
                <th>Sixe Date</th>
                <th>Created Date</th>
                <th>Something</th>
                <th>Premium</i>
                </th>
                <th>Public</th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <th scope="row">
                    <label class="checkbox checkbox-inline">
                        <input id="check" type="checkbox" name="file_id">
                    </label>
                </th>
                <td>Something</td>
                <td>Size</td>
                <td>Date</td>
                <td>Name</td>
                <td>
                    <label class="checkbox checkbox-inline">
                        <input type="checkbox" name="file_premium_only" </label>
                </td>
                <td>
                    <label class="checkbox checkbox-inline">
                        <input type="checkbox">
                    </label>
                </td>
          </tr> 
          <tr>
                <th scope="row">
                    <label class="checkbox checkbox-inline">
                        <input id="check" type="checkbox" name="file_id">
                    </label>
                </th>
                <td>Something</td>
                <td>Size</td>
                <td>Date</td>
                <td>Name</td>
                <td>
                    <label class="checkbox checkbox-inline">
                        <input type="checkbox" name="file_premium_only" </label>
                </td>
                <td>
                    <label class="checkbox checkbox-inline">
                        <input type="checkbox">
                    </label>
                </td>
          </tr> 
    </table>
</div>
<!-- /.table-responsive -->

这里你可以看到codepen示例:

http://codepen.io/anon/pen/QjvomM

2 个答案:

答案 0 :(得分:3)

您可以使用ifToggled iCheck事件,如果选中/取消选中,则使用checkuncheck方法在其他行中进行相应操作。

价:

https://github.com/fronteed/iCheck#callbacks

https://github.com/fronteed/iCheck#methods

附注:我为select all check设置了一个特定的类all,并为每行检查了selector的特定类,避免了多个id值。

代码:

jQuery(document).ready(function ($) {

    $('input').iCheck({
        checkboxClass: 'icheckbox_flat-pink',
        radioClass: 'iradio_flat-pink'
    });

    $('input.all').on('ifToggled', function (event) {
        var chkToggle;
        $(this).is(':checked') ? chkToggle = "check" : chkToggle = "uncheck";
        $('input.selector:not(.all)').iCheck(chkToggle);
    });

});

演示:http://jsfiddle.net/IrvinDominin/estL6xrv/

答案 1 :(得分:2)

如果我正确理解了这个问题,您希望为您的页面提供同时检查/取消选中iCheck复选框的功能吗?

我使用以下jQuery函数实现了与此类似的东西..

function ToggleCheckboxes() {

    var flag = $('#togglebox').is(':checked')

    $("[name='PrintCheck']").each(function () {
        if (flag == true) {
            $(this).iCheck('check');                
        } else {
            $(this).iCheck('uncheck');                
        }
    });

}

此功能已分配给顶部复选框的onchange。然后,这将找到名为“PrintCheck”的所有复选框,并选中或取消选中。

<input type="checkbox" id="togglebox" onchange="ToggleCheckboxes();">

希望这有帮助!