Angular JS автозаполнения поиска со ссылкой

0

Я пытаюсь реализовать автоматический полный поиск со ссылкой (после выбора он должен перейти на конкретную страницу). только мне нужно скрыть данные, появляющиеся под окном поиска, он должен отображаться только тогда, когда работает пользовательский тип запуска, например, функция поиска.

есть снимок экрана буксировки ниже, первый - это то, что я сделал, когда данные по умолчанию заполнены, поэтому я хочу, чтобы это было скрыто, и когда я набираю, он должен отображаться как screen2 Изображение 174551

Изображение 174551

<!DOCTYPE html>
<html>
<head>
<title>Angular JS</title>

<style>
ul,li{margin:0; padding:0;}
</style>
</head>
<body>    
<div ng-app="myApp" ng-controller="movieCtrl"> 
<input type="text" ng-model="film">
<ul>
  <li ng-repeat="x in movies | filter:film | orderBy:'film'" style="list-style-type:none;"><a href="{{ x.param }}">{{ x.film  | uppercase }}</a></li>
</ul>

</div>    

<script src="Scripts/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('movieCtrl', function($scope, $http) {
    $http.get("tmp.php")
    .success(function(response) {$scope.movies = response.movie;});
});
</script>
</body>
</html>
Теги:

2 ответа

1
Лучший ответ

Добавьте условие в свой список, чтобы оно было видимым только в том случае, если фильтр не пуст:

<ul ng-show="film">
  <li ng-repeat="x in movies | filter:film | orderBy:'film'" style="list-style-type:none;"><a href="{{ x.param }}">{{ x.film  | uppercase }}</a></li>
</ul>
  • 0
    спасибо, это действительно сработало для меня. на более легкой ноте я хотел бы знать ваше предположение, что приведенный выше код, который я написал, является ли правильным способом для автоматического завершения поиска с использованием Angular Js?
  • 1
    Ну, это определенно самый простой и быстрый способ. И до тех пор, пока вам не нужно разбивать на страницы эти результаты, у вас все хорошо.
0

Вы добавляете переменную (изначально ложную) и скрываете свой список на основе этого. Затем, когда вы меняете свой вход, измените переменную на true. вот что вы можете сделать:

<input type="text" ng-model="film" ng-init="show=0" ng-change="show=1">

а также

<ul ng-show="show=1">

Ещё вопросы

Сообщество Overcoder
Наверх
Меню