2012-05-21 210 views
2

以下是默認下拉列表的代碼段。製作Ember.js下拉列表默認選擇一個選項

App.selectedOption.set("option","1"); 

但是看不到使用默認值onload進行選擇的下拉菜單。 這裏有什麼問題?

片段爲灰燼下拉

<script type="text/x-handlebars"> 
    {{#view App.SortSampleView }} 
     {{view Ember.Select 
      contentBinding="App.viewSampleController" 
      selectionBinding="App.selectedOption.option" 
      optionLabelPath="content.name" 
      optionValuePath="content.id" class="dropdown" 
     prompt="Select..." }} 
    {{/view}}  
</script> 

片段供選擇綁定:

App.selectedOption= Ember.Object.create({option:null}); 

回答

3

這是一個已知的問題,請參見#482在問題追蹤器。討論表明,不支持通過設置valuePath來設置選定的選項,而必須將特定對象設置爲selected。見http://jsfiddle.net/pangratz666/NgXpF/

把手

<script type="text/x-handlebars"> 
     {{view Ember.Select 
      contentBinding="App.viewSampleController" 
      selectionBinding="App.selectedOptionController.option" 
      optionLabelPath="content.name" 
      optionValuePath="content.id" class="dropdown" 
     prompt="Select..." }} 
</script>​ 

的JavaScript

App.viewSampleController = Ember.ArrayProxy.create({ 
    content: [], 
    addObject: function(id, name){ 
     this.pushObject(Ember.Object.create({ 
      id: id, 
      name: name 
     })); 
    } 
}); 

App.selectedOptionController = Ember.Object.create({ 
    option: null 
}); 

App.viewSampleController.addObject(1, 'first'); 
App.viewSampleController.addObject(2, 'second'); 
App.viewSampleController.addObject(3, 'third'); 

var second = App.viewSampleController.objectAt(1); 
App.selectedOptionController.set('option', second); 
+0

嘗試了上述解決方案不起作用!請建議我們如何才能使其工作 – user1338121

+0

你見過JSFiddle嗎?這對我有用。你能提供一個你的代碼不工作的小提琴嗎? – pangratz

+0

是的,它工作感謝您的解決方案! – user1338121

相關問題