D1D1D1D
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mavrikii После изменения первого кода — на второй — заметил, что перестали реагировать опции из выпадающего списка («Содержит», «Не содержит», «Начинается с», «Заканчивается на» и тд). Не могли бы Вы взглянуть, правильно ли во втором коде всё прописано? — Код: function gCalculateFilterExpression (value, selectedFilterOperations, target, self) { if (target === "filterRow") { return [function(dataItem) { var pattern = new RegExp(value, 'i'); if (dataItem[self.dataField].match(pattern)) { return true; } else { return false; } }, "=", true]; } else { return self.defaultCalculateFilterExpression.apply(self, arguments); } } |
Код: function gCalculateFilterExpression (value, selectedFilterOperations, target, self) { if (target === "filterRow") { return [function(dataItem) { var pattern = new RegExp(normalize(value), 'i'), cell = normalize(dataItem[self.dataField]); if (cell.match(pattern)) { return true; } else { return false; } }, "=", true]; } else { return self.defaultCalculateFilterExpression.apply(self, arguments); } } function normalize(value) { value = value.normalize('NFD').replace(/([\u0300-\u036f]|<[^>]*>)/g,""); value = value.normalize('NFD').replace(/\u0451/g,"\u0435"); //ё—е return value; } | А это был код объединённый с первым: Код: calculateFilterExpression: function(value, selectedFilterOperation, target){ var getter = function(data) { return data['bbb'].normalize('NFD').replace(/([\u0300-\u036f]|\u007C\u007C|<[^>]*>)/g,""); }; value = value.normalize('NFD').replace(/([\u0300-\u036f]|\u007C\u007C|<[^>]*>)/g,""); return [getter, selectedFilterOperation || "contains", value]; } | | Всего записей: 1470 | Зарегистр. 05-04-2010 | Отправлено: 00:35 12-07-2021 | Исправлено: D1D1D1D, 00:39 12-07-2021 |
|