javascriptangularjsangularjs-ng-repeatng-filter

Angular JS filter not equals


Seems like a very basic question but I can't get the syntax right..

<li class="list-group-item" ng-repeat="question in newSection.Questions | filter:Id != '-1'; " ng-mouseenter="hover = true" ng-mouseleave="hover = false">
    <div href="#" editable-text="question.Text">{{question.Text}}</div>
</li>

All I want is to show all the questions where id is NOT -1. What am I doing wrong. Thanks!


Solution

  • The syntax is just a little off, try:

    <li class="list-group-item"
        ng-repeat="question in newSection.Questions | filter:{ Id: '!-1'}"
        ng-mouseenter="hover = true" ng-mouseleave="hover = false">
    
        <div href="#" editable-text="question.Text">{{question.Text}}</div>
    </li>
    

    See a little JSFiddle: http://jsfiddle.net/U3pVM/3845/

    Edit:

    Example with variables:

    <script> var invalidId = '-1'; </script>
    <li class="list-group-item"
        ng-repeat="question in newSection.Questions | filter:{ Id: '!' + invalidId}"
        ng-mouseenter="hover = true" ng-mouseleave="hover = false">
    
        <div href="#" editable-text="question.Text">{{question.Text}}</div>
    </li>