DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> EasyUI的datagrid獲取所有正在編輯狀態的行的行編號
EasyUI的datagrid獲取所有正在編輯狀態的行的行編號
編輯:JQuery特效代碼     

 今天項目需要用了下EasyUI的datagrid的行編輯功能,跟著API來,只要是將各種狀態時的處理邏輯弄好,還是蠻不錯的。

開發過程中,遇到了個問題,在編輯完成後我需要獲取datagrid所有處於編輯狀態的行,進行結束編輯後,獲取編輯行的值。這時的操作,我可以是將datagrid所有的行都取出來,然後循環都進行endEdit操作,這樣確實可以做到。但是考慮到,在datagrid中有可能只有少數的行是編輯狀態的,這樣如果全部循環去關閉,明顯的在做一些無用的操作。

正常的思路,我應該是找到正在編輯的所有行,然後有針對性的關閉。但是EasyUI並沒有提供該方法。也在網上找了下,發現在網上問這個問題的人也是存在,但是並沒找到滿意的答案。所以就自己寫了一個獲取的方法。分享出來,希望對需要的人有所幫助。

/*
*  datagrid 獲取正在編輯狀態的行,使用如下:
*  $('#id').datagrid('getEditingRowIndexs'); //獲取當前datagrid中在編輯狀態的行編號列表
*/
$.extend($.fn.datagrid.methods, {
    getEditingRowIndexs: function(jq, newposition) {
        return jq.each(function() {
            var rows = $.data(jq[0], "datagrid").panel.find('.datagrid-row-editing');
            var indexs = [];
            rows.each(function(i, row) {
                var index = row.sectionRowIndex;
                if (indexs.indexOf(index) == -1) {
                    indexs.push(index);
                }
            });
            return indexs;
        });
    }
});

 有什麼可以優化的點,或者有什麼問題歡迎大家提出來。

 



參考:http://hovertree.com/jeasyui/
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved