Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/ember-1.0.0-rc.6.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <script type="text/x-handlebars" data-template-name="application">
    {{autocomplete list=list1}}
    {{autocomplete list=list2}}
  </script>
  
  <script type="text/x-handlebars" data-template-name="controls/autocomplete">
    <p>{{input type="text" value=view.filter}}</p>
    <ul>
    {{#each view.filteredList}}
      <li >{{name}}</li>  
    {{/each}}
    </ul>
  </script>
</body>
</html>
 
App = Ember.Application.create();
var list = [{
  name: "Tom Dale"
}, {
  name: "Yehuda Katz"
}, {
  name: "Erik Bryn"
}];
var list2 = [{
  name: "Pepsi"
}, {
  name: "Coke"
}, {
  name: "Mountain Dew"
}];
var model = {
  list1: list,
  list2: list2
}; 
App.ApplicationRoute = Ember.Route.extend({
  model: function() {
    return model;
  }
});
Ember.Handlebars.helper('autocomplete', Ember.View.extend({
  templateName: 'controls/autocomplete',
  
  filteredList: function() {
    var list = this.get('list'),
        filter = this.get('filter');
    if (!filter) { return list; }
    
    return list.filter(function(item) {
      return item.name.indexOf(filter) !== -1;
    });
  }.property('list.@each', 'filter')
}));
Output 300px

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

Dismiss x
public
Bin info
anonymouspro
0viewers