2014-11-29 3 views
1

Используя код ниже, я создал Ember View.Как установить значение по умолчанию в Ember js

<script type="text/x-handlebars"> 
     <h2>Welcome to Ember.js</h2>  
     {{outlet}} 
    </script>  
<script type="text/x-handlebars" data-template-name="index">  
    <div> 
     {{view "select" content=model prompt="Please select a name" selectionBinding="controllers.comboBox.model" optionValuePath="content.title" optionLabelPath="content.body" }} 
    </div> 
    <div> 
     {{view "select" content=model1 prompt="Please select a name" optionValuePath="content.title" optionLabelPath="content.title" }} 
    </div>  
</script> 

и App.Js

App = Ember.Application.create({ 

}); 

App.Router.map(function() { 

}); 

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
     return posts; 
    } 
}); 

App.IndexController = Em.ArrayController.extend({ 
    needs: ["comboBox"], 
    sendValueToServer: function() {  
     document.getElementById("comboval").value = this.get("controllers.comboBox.model.title"); 
    }.observes("controllers.comboBox.model"), 


    model1: function() { 

     var valueq = this.get('controllers.comboBox.model.title'); 
     console.log("value "+valueq);  
     return posts1; 
    }.property("controllers.comboBox.model") 
}); 

App.ComboBoxController = Em.Controller.extend({ 
    model: null, 
}); 

App.ComboBox1Controller = Em.Controller.extend({ 
    model1: null, 
}); 
posts = [{ 
    title: "Raja", 
    body: "There are lots of à la carte software environments in this world." 
}, { 
    title: "Broken Promises", 
    body: "James Coglan wrote a lengthy article about Promises in node.js." 
}, 
{ 
title: "Broken", 
body: "James Coglan wrote a lengthy article about Promises in node.js." 
} 

]; 


posts1 = [{ 
    title: "Raja", 
    body: "There are lots of à la carte software environments in this world." 
}, { 
    title: "Broken Promises", 
    body: "James Coglan wrote a lengthy article about Promises in node.js." 
}, 
{ 
    title: "Broken", 
    body: "James Coglan wrote a lengthy article about Promises in node.js." 
} 

]; 

Над кодом с помощью ПРОМТ я показывал "Пожалуйста, выберите имя" Значение по умолчанию.

но Первоначально я не хочу Пожалуйста, выберите имя значение по умолчанию.

Мое требование - показать второе значение в качестве значения по умолчанию.

как я могу это сделать.

+0

Две рекомендации : показать минимальное количество кода, объясняющего вашу проблему, и предоставить ссылку на скрипку , Кроме того, я не уверен на 100% того, что вы просите. – givanse

ответ

0

В связи с вопросом, упомянутым здесь, Second dropdown not calling EveryTime Based on First drop down

Чтобы установить значение по умолчанию все это нужно, чтобы установить значение связанного имущество конкретных ниспадающим.

http://emberjs.jsbin.com/loqivasova/1/edit

JS

App.ComboBoxController = Em.Controller.extend({ 
    model: posts[0], 
}); 

однако если требуется также изменить второе падение вниз, основываясь на это значение по умолчанию, то просто добавьте on("init") функции setComboBox1Model1,

js

setComboBox1Model1:function(){ 
    var valueq = this.get('controllers.comboBox.model.title'); 
    var valueFromPosts1 = posts1.findBy("title",valueq); 
    this.set("controllers.comboBox1.model1",valueFromPosts1?valueFromPosts1:null); 
    }.observes("controllers.comboBox.model").on("init") 

http://emberjs.jsbin.com/jogaqinugi/1/edit?html,js,output

Если требуется установить значение после того, как точка зрения сгенерирована, то вы должны использовать вид

JS

App.IndexView = Em.View.extend({ 
    setDefaulValue:function(){ 

    this.set("controller.controllers.comboBox.model",posts[0]); 
    }.on("didInsertElement") 
}); 

http://emberjs.jsbin.com/qugefipefi/1/edit?html,js,output

Смежные вопросы