我的模板:
<select name="lang" id="lang" onchange={{action "selectOption" value="target.value"}}>
<option value="">--Choose--</option>
{{#each model as |lang|}}
<option value="{{lang.url}}">{{lang.title}}</option>
{{/each}}
</select>
lang.url
有一个值:['php', 'javascript', ...]
我的控制器:
lang: 'php', //this is not working, I am thinking of something like lang.url or lang.get('url') but looks like it is still not right ..
actions: {
selectOption: function(option) {
this.set("lang", option);
}
如何设置select到php的默认值?
答案 0 :(得分:0)
将true
设置为所选选项的selected
属性。像这样:
<option value="{{lang.url}}" selected={{eq lang.url lang}}>{{lang.title}}</option>
eq helper
可以在这里找到。
答案 1 :(得分:0)
我猜,控制器和每个块帮助器中的UserForm
属性引用不同的上下文是问题。要么将控制器中的lang属性更改为其他属性名称
application.js - &gt;路线
lang
application.js - &gt;控制器
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return [{'url':'phpurl','title':'phptitle'},{'url':'javascripturl','title':'javascripttitle'}];
}
});
application.hbs - &gt;模板文件
import Ember from 'ember';
export default Ember.Controller.extend({
lang: 'phpurl',
actions: {
selectOption: function(option) {
console.log(option);
this.set("lang", option);
}
}
});
工作样本ember-twiddle