我在引导程序中使用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示例:
答案 0 :(得分:3)
您可以使用ifToggled
iCheck事件,如果选中/取消选中,则使用check
和uncheck
方法在其他行中进行相应操作。
价:
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);
});
});
答案 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();">
希望这有帮助!