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/handlebars.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <script type="text/x-handlebars" data-template-name="index">
  <h3>original:</h3>
    {{#each item in model}}
      <select name="test" {{bind-attr id=item.idTest}} multiple>
      <option>{{item.title}}</option>
      <option>{{item.alias}}</option>     
    </select>
    <button name="button" {{action 'testClick'}}>Click</button>
    {{/each}}
    
    <h3>using computed property based on original items:</h3>
    
    {{#each item in annotatedItems}}
      <select name="test" {{bind-attr id=item.id}} multiple>
        <option>{{item.title}}</option>
        <option>{{item.alias}}</option>     
      </select>
      <button name="button" {{action 'testClick'}}>Click</button>
    {{/each}}
    
  </script> 
</body>
</html>
 
App = Ember.Application.create();
posts = [{
  idTest:"UDF_CHAR1",
  title: "Rails is omakase",
  alias:"one"
  
}, {
  idTest:"UDF_CHAR2",
  title: "Broken Promises",
  alias:"two"
  
}];
App.IndexRoute = Ember.Route.extend({
  model: function() {
    return posts; 
  }
});
App.IndexController = Ember.ArrayController.extend({
  id:0,
  getId:function(){
    this.incrementProperty('id');
    return "UDF_CHAR"+this.get('id');
  }.property('id'),
  
  annotatedItems: function() {
    return this.get('model').map(function(item, index, enumerable){
      item.id = "UDF_CHAR" + index;
      return item;
    });
  }.property('model'),
    
  actions: {
    testClick:function(){
       
    }
  }
});
Output 300px

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

Dismiss x
public
Bin info
craigteegardenpro
0viewers