dummy js
dummy js

Reputation: 43

how to limit my ng-repeat value

my json data

category in categories

[{"id":1,"prev":null,"name":"Hobbies and Gadgets"},{"id":2,"prev":null,"name":"Home and Lifestyle"},{"id":3,"prev":null,"name":"Clothing"},{"id":4,"prev":null,"name":"Entertainment"},{"id":5,"prev":null,"name":"Others"},{"id":6,"prev":1,"name":"Gadgets"},{"id":7,"prev":1,"name":"Designs"},{"id":8,"prev":1,"name":"Music"},{"id":9,"prev":1,"name":"Photography"},{"id":10,"prev":1,"name":"Books"}]

my code

datalist#categoryList option(data-ng-repeat="category in categories" value="{{category.name}}")

it shows all category.name.

i only want to show the category.name that has null value in category.prev

Upvotes: 0

Views: 37

Answers (1)

Arun P Johny
Arun P Johny

Reputation: 388316

You can use filter to do that like

option(data-ng-repeat="category in categories | filter:{prev:null}" value="{{category.name}}")

var app = angular.module('my-app', [], function() {})

app.controller('AppController', function($scope) {
  $scope.categories = [{
    "id": 1,
    "prev": null,
    "name": "Hobbies and Gadgets"
  }, {
    "id": 2,
    "prev": null,
    "name": "Home and Lifestyle"
  }, {
    "id": 3,
    "prev": null,
    "name": "Clothing"
  }, {
    "id": 4,
    "prev": null,
    "name": "Entertainment"
  }, {
    "id": 5,
    "prev": null,
    "name": "Others"
  }, {
    "id": 6,
    "prev": 1,
    "name": "Gadgets"
  }, {
    "id": 7,
    "prev": 1,
    "name": "Designs"
  }, {
    "id": 8,
    "prev": 1,
    "name": "Music"
  }, {
    "id": 9,
    "prev": 1,
    "name": "Photography"
  }, {
    "id": 10,
    "prev": 1,
    "name": "Books"
  }];
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
<div ng-app="my-app">
  <div ng-controller="AppController">
    <select>
      <option data-ng-repeat="category in categories | filter:{prev:null}" value="{{category.name}}">{{category.name}}</option>
    </select>
  </div>
</div>

Upvotes: 1

Related Questions