簡體   English   中英

Kendo網格:.read()之后,標題中的“全選”復選框停止工作

[英]Kendo Grid: Select All Checkbox in Header Stops Working After .read()

使用特定的搜索過濾器后,我會顯示兩個Kendo網格。 最終用戶可以調整搜索過濾器並重新加載數據源。 我通過檢查網格是否存在以及是否已經存在來執行此操作-執行grid.read()操作(而不是重新加載整個網格)。

此檢查和加載按預期方式工作。 通過單擊該行來選擇每個單獨的行,或者通過選中復選框來選擇多個行(或使用單擊/拖動方法)的功能可以正常工作(在read()之前和之后)。 但是,全選復選框(位於標題中)在read()之后停止正常運行。

我已經在此處編輯了代碼並將其添加到小提琴中,很抱歉,它不可運行(我無法刪除足夠的數據源信息以僅顯示網格)。

“全選”復選框適用於網格的初始加載。 我試圖將.change事件還添加到調用read()的else語句中,以為可能不是在捕獲更改事件-但這沒有幫助。

$('#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();
};

編輯:

從Kendo的演示開始,我能夠更好地復制我的問題,然后添加我的代碼的每一部分,直到它破裂為止。 在嘗試將全選標頭復選框功能與多選功能(具有dataBound事件)結合使用時,我能夠確定問題是否發生了,我需要這兩個功能一起工作。

這里查看示例:

請注意,標題復選框正常工作,直到啟用了網格功能(例如列排序),然后它將停止“檢查”。 每單擊一次該功能,它將起作用。

好像“檢查”標題復選框的功能已打開和關閉。

  $('#selectAllCheckbox').on('click',function(){ if ($(this).prop('checked') == true) { $('.checkbox').prop('checked',true); }else { $('.checkbox').prop('checked',false); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" id="selectAllCheckbox"> check all <hr> <ol> <li><label><input type="checkbox" class="checkbox"> checkbox [1]<label></li> <li><label><input type="checkbox" class="checkbox"> checkbox [2]<label></li> <li><label><input type="checkbox" class="checkbox"> checkbox [3]<label></li> <li><label><input type="checkbox" class="checkbox"> checkbox [4]<label></li> </ol> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM