Как добавить графическую разметку в столбцы, содержащие выбранные слова? - PullRequest
0 голосов
/ 17 января 2019

Я редактирую найденный код скрипта, который отображает данные из таблицы. Однако я не могу изменить определенную вещь так, чтобы в столбце «Пол» рядом с ключевым словом: мужчина, женщина автоматически появлялся значок? Например: glyphicon glyphicon-heart-empty и glyphicon glyphicon-user. В дополнение к слову «мужской» фон ячейки зеленый и синий для женщины.

index.html

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>SoftAOX | AngularJS Sorting, Searching and Pagination of Data Table using PHP & MySQL</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div ng-app="myApp" ng-controller="controller">
        <div class="container">
            <br/>
            <h3 align="center">AngularJS Sorting, Searching and Pagination of Data Table using PHP & MySQL</a></h3>
            <br/>
            <div class="row">
                <div class="col-sm-2 pull-left">
                    <label>PageSize:</label>
                    <select ng-model="data_limit" class="form-control">
                        <option>10</option>
                        <option>20</option>
                        <option>50</option>
                        <option>100</option>
                    </select>
                </div>
                <div class="col-sm-6 pull-right">
                    <label>Search:</label>
                    <input type="text" ng-model="search" ng-change="filter()" placeholder="Search" class="form-control" />
                </div>
            </div>
            <br/>
            <div class="row">
                <div class="col-md-12" ng-show="filter_data > 0">
                    <table class="table table-striped table-bordered">
                        <thead>
                            <th>Name&nbsp;<a ng-click="sort_with('name');"><i class="glyphicon glyphicon-sort"></i></a></th>
                            <th>Gender&nbsp;<a ng-click="sort_with('gender');"><i class="glyphicon glyphicon-sort"></i></a></th>
                            <th>Age&nbsp;<a ng-click="sort_with('age');"><i class="glyphicon glyphicon-sort"></i></a></th>
                            <th>Email&nbsp;<a ng-click="sort_with('email');"><i class="glyphicon glyphicon-sort"></i></a></th>
                            <th>Phone&nbsp;<a ng-click="sort_with('phone');"><i class="glyphicon glyphicon-sort"></i></a></th>
                            <th>Organization&nbsp;<a ng-click="sort_with('organization');"><i class="glyphicon glyphicon-sort"></i></a></th>
                        </thead>
                        <tbody>
                            <tr ng-repeat="data in searched = (file | filter:search | orderBy : base :reverse) | beginning_data:(current_grid-1)*data_limit | limitTo:data_limit">
                                <td>{{data.name}}</td>
                                <td>{{data.gender}}</td>
                                <td>{{data.age}}</td>
                                <td>{{data.email}}</td>
                                <td>{{data.phone}}</td>
                                <td>{{data.organization}}</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <div class="col-md-12" ng-show="filter_data == 0">
                    <div class="col-md-12">
                        <h4>No records found..</h4>
                    </div>
                </div>
                <div class="col-md-12">
                    <div class="col-md-6 pull-left">
                        <h5>Showing {{ searched.length }} of {{ entire_user}} entries</h5>
                    </div>
                    <div class="col-md-6" ng-show="filter_data > 0">
                        <div pagination="" page="current_grid" on-select-page="page_position(page)" boundary-links="true" total-items="filter_data" items-per-page="data_limit" class="pagination-small pull-right" previous-text="&laquo;" next-text="&raquo;"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.12/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.min.js"></script>
    <script src="myapp.js"></script>
</body>

myapp.js

var app = angular.module('myApp', ['ui.bootstrap']);
app.filter('beginning_data', function() {
    return function(input, begin) {
        if (input) {
            begin = +begin;
            return input.slice(begin);
        }
        return [];
    }
});
app.controller('controller', function($scope, $http, $timeout) {
    $http.get('fetch.php').success(function(user_data) {
        $scope.file = user_data;
        $scope.current_grid = 1;
        $scope.data_limit = 10;
        $scope.filter_data = $scope.file.length;
        $scope.entire_user = $scope.file.length;
    });
    $scope.page_position = function(page_number) {
        $scope.current_grid = page_number;
    };
    $scope.filter = function() {
        $timeout(function() {
            $scope.filter_data = $scope.searched.length;
        }, 20);
    };
    $scope.sort_with = function(base) {
        $scope.base = base;
        $scope.reverse = !$scope.reverse;
    };
});

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Большое спасибо за ваш ответ. Работает отлично. У меня все еще есть вопрос, связанный с размером букв. Можно ли изменить его для работы с маленькими и большими буквами в зависимости от того, как кто-то написал в базе данных: женский или женский? Должен ли я просто добавить код, как показано ниже?

<span ng-if="data.gender=='female'"><i class="fas fa-female fa-2x"></i></span>
<span ng-if="data.gender=='FEAMLE'"><i class="fas fa-female fa-2x"></i></span>
0 голосов
/ 17 января 2019

Обновление: почему вы не используете значение вместо строки в поле, гораздо лучше. например, 1 для мужчины, 2 для женщины. выпадающий / радиокнопочный вход

Вы можете использовать ng-if / show для отображения значка / графики в столбце, просто поместите его рядом с текстом столбца. Вы можете посмотреть пример, который я сделал для вас, если вы хотите более продвинутую функцию, вы можете отредактировать ваш css и т. д. 2, я просто покажу только основные. http://embed.plnkr.co/igtLUKSBv5etVWz6Tjcz/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...