Может быть, я ошибаюсь, но я думаю, что этот код отвечает за поиск и отображение данных, и только если он точно совпадает с адресом там, со всеми прописными и строчными буквами, запятыми и так далее. Как изменить его так, чтобы он отображал любой совпадающий адрес независимо от формата? Здесь задействованы файлы json и csv. Моя страница: http://wp3.it -do.pw72n.spectrum.myjino.ru / sample-page / . Сайт с учебным приложением: http://ui -grid.info / docs / #! / Tutorial / Tutorial:% 20306% 20Custom% 20Filters . Там под первой опцией Name расположен вход, где вы можете вводить текст, и он будет показывать все совпадения независимо от прописных и строчных букв, я хочу то же самое. Вот пример тоже, как это работает: https://docs.angularjs.org/api/ng/filter/filter
var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.pagination']);
app.controller('MainCtrl', ['i18nService', function(i18nService){
//es is the language prefix you want
i18nService.setCurrentLang('ru');
}]);
app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.getTableHeight = function() {
var rowHeight = 30; // your row height
var headerHeight = 30; // your header height
return {
height: (25 * rowHeight + headerHeight-20) + "px"
};
};
$scope.gridOptions1 = {
rowHeight: 30,
enableFiltering: false,
onRegisterApi: function(gridApi){
$scope.gridApi = gridApi;
$scope.gridApi.grid.registerRowsProcessor( $scope.singleFilter, 200 );
},
paginationPageSizes: [25,50,100,250,1000],
paginationPageSize: 25,
columnDefs: [
{ name: 'adress',displayName: 'Адрес', enableColumnMenu: false},
{ name: 'dolg', displayName: 'Задолженность, руб', enableColumnMenu: false,width: '25%'
},
{ name: 'oplata', displayName: 'Оплатить', enableColumnMenu: false, cellTemplate: '<a class="ui-grid-cell-contents right_color" href="/oplata-step2/?{{\'address=\'+row.entity.adress+\'&summa=\'+ row.entity.dolg}}">Оплатить</a>',width: '20%' }
]
};
$http.get('/moduleOplata/data.php')
.then(function (response) {
$scope.gridOptions1.data = response.data;
});
$scope.filter = function() {
$scope.gridApi.grid.refresh();
};
$scope.singleFilter = function( renderableRows ){
var matcher = new RegExp($scope.filterValue);
renderableRows.forEach( function( row ) {
var match = false;
[ 'adress'].forEach(function( field ){
if ( row.entity[field].match(matcher) ){
match = true;
}
});
if ( !match ){
row.visible = false;
}
});
return renderableRows;
};
<input ng-model='filterValue' class="search_block" placeholder="Введите адрес для поиска" ng-change="filter()"/>
<div ui-grid="gridOptions1" ui-grid-pagination class="grid" ng-style="getTableHeight()"></div>