jqgrid过滤器功能中没有唯一的名称

时间:2016-07-28 08:14:05

标签: javascript java jquery jqgrid

我在jqgrid中实现了过滤功能。逻辑就像迭代网格数据,然后找到过滤器的唯一值。通过选择过滤器中存在的值,我们可以应用过滤器。但是列中存在的一个字符串是两次,它们完全相同。对于例如第1行:“ABC”,第2行:“ABC”,第3行:“DEF”,第4行:“DEF”,第5行:“FEG”过滤器中的值应为ALL,ABC,DEF,FEG但是我我得到了ALL,ABC,ABC,DEF,FEG。 DEF不重复。所以它是字符串或其他东西的问题。代码是

getUniqueNames = function(columnName) {
        var data = $("#grid0").jqGrid('getGridParam', 'data');


        var uniqueTexts = [], text, textsMap = {}, i;

        for (i = 0; i < data.length; i++) {

            text=data[i][columnName];


                         if (text !== undefined && textsMap[text] === undefined) {
                             // to test whether the texts is unique we place it in the map.
                             textsMap[text] = true;
                             if (typeof text =="string" && text.trim()!=''){
                             uniqueTexts.push(text);
                             }
                         }
                     }

                 // Object.keys(textsMap); Does not work with IE8: 
                     return uniqueTexts;

    }

0 个答案:

没有答案