Angular SELECT filter

Filtering the OPTIONs of a SELECT using an Angular repeat filter.

by Alexander

HTML

<script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.9.19/angular-0.9.19.js"></script>

<select>
    <option value="" disabled>Select an option</option>
    <option ng:repeat="item in myList.$filter(removeHiddenItems)">
        {{item.title}}
    </option>
</select>
<br><br>
<code>
    Debug:
    filterString:
    {{
        $eval(getFilter())
    }}
</code>

JavaScript

function Main() {
  this.getFilter = function() {
    return { hidden : true };
  }
  
  this.removeHiddenItems = function(item) {
      return "hidden" in item ? !eval(item.hidden) : true;
  };

  this.myList = [
    {
        title: "Hidden",
        hidden: '1'=='1'
    },
    {
        title: "Not Hidden",
        hidden: '1'=='0'
    },
    {
        title: "Not Hidden"
    }
];
}