Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
<link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/ember-1.0.0-rc.7.js"></script>
</head>
<body>
  <script type="text/x-handlebars">
    {{input type="text" class="form-control" placeholder="Live search by name (case insensitive)" value=query}}
    <table class="table table-striped table-hover table-condensed">
      <thead>
        <tr>
          <th>Name</th>
        </tr>
      </thead>
      <tbody>
        {{#each item in filteredContent}}
        <tr>
          <td>
            {{item.name}}
          </td>
        </tr>
        {{/each}}
      </tbody>
    </table>
  </script>
</body>
</html>
 
App = Ember.Application.create();
App.ApplicationRoute = Ember.Route.extend({
  model: function () {
    // returns [{ "name" : "Test Name", ... }]
    return $.getJSON('http://jsbin.com/igosav/1'); 
  }
});
App.ApplicationController = Ember.ArrayController.extend({
  queryChanged: function() {
    var filteredResults = this.content.filter(function (item) {
      return (item.name.toLowerCase().indexOf(this.get('query').toLowerCase()) !== -1);
    }.bind(this));
    
    this.set('filteredContent', filteredResults);
    
  }.observes('query'),
  
  filteredContent: function() {
    return this.content;
  }.property('@each.content')
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers