Javascript 剑道网格:选中标题中的所有复选框在.read()之后停止工作
我有两个剑道网格,在使用特定的搜索过滤器后显示。最终用户能够调整搜索过滤器并重新加载数据源。我通过检查网格是否存在以及是否已经存在来实现这一点——执行grid.read()操作(而不是重新加载整个网格) 此检查和加载按预期工作。通过单击行选择每一行,或通过选中复选框(或使用单击/拖动方法)选择多行的功能(在read()之前和之后)正常工作。但是,在读取()之后,“全选”复选框(位于标题中)将停止正常工作 我已经编辑并将代码添加到fiddle中,很抱歉它不可运行(我无法删除足够的数据源信息以仅显示网格) “全选”复选框适用于网格的初始加载。我试图将.change事件也添加到调用read()的else语句中,认为它可能没有捕获更改事件,但这没有帮助Javascript 剑道网格:选中标题中的所有复选框在.read()之后停止工作,javascript,jquery,kendo-grid,Javascript,Jquery,Kendo Grid,我有两个剑道网格,在使用特定的搜索过滤器后显示。最终用户能够调整搜索过滤器并重新加载数据源。我通过检查网格是否存在以及是否已经存在来实现这一点——执行grid.read()操作(而不是重新加载整个网格) 此检查和加载按预期工作。通过单击行选择每一行,或通过选中复选框(或使用单击/拖动方法)选择多行的功能(在read()之前和之后)正常工作。但是,在读取()之后,“全选”复选框(位于标题中)将停止正常工作 我已经编辑并将代码添加到fiddle中,很抱歉它不可运行(我无法删除足够的数据源信息以仅显示
$('#selectAllCheckbox').change(function () {
onSelectAll();
})
在read()之后,当选中“全选”复选框时,单击该复选框本身不显示复选标记,并且不选中表上的多行
function onSelectAll() {
var checked = ($('#selectAllCheckbox')[0].checked)
$('.checkbox').each(function (idx, item) {
if (checked) {
if (!($(item).closest('tr').is('.k-state-selected'))) {
$(item).click();
}
} else {
if ($(item).closest('tr').is('.k-state-selected')) {
$(item).click();
}
}
});
setIsChecked();
};
编辑:
我能够更好地复制我的问题,从剑道的演示开始,然后添加代码的每个部分,直到它崩溃。我能够确定,当尝试将“全选标题复选框”功能与“多选”功能(具有数据绑定事件)组合时,会出现问题。我需要这两个功能一起工作
请参见示例:
请注意,标题复选框工作正常,直到启用网格的某个功能(例如列排序),它才会停止“检查”。每隔单击一次该功能,它就会工作
这就好像“检查”标题复选框的功能正在打开和关闭。
$('selectAllCheckbox')。在('click',function(){
if($(this).prop('checked')==true){
$('.checkbox').prop('checked',true);
}否则{
$('.checkbox').prop('checked',false);
}
});
全部检查
复选框[1]
复选框[2]
复选框[3]
复选框[4]