如何获取ember应用程序中控制器中模板复选框的值 [英] How to get the value of a checkbox of a template in the controller in ember app

查看:94
本文介绍了如何获取ember应用程序中控制器中模板复选框的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是我的模板:

 < script type =text / x-handlebars> 
{{view Ember.TextField valueBinding =firstnameplaceholder =First Name}}
< input type =checkboxname =remember_me>记住我< / input>
< button {{action save}}>保存< / button>
< / script>

这是我的控制器:

  App = Ember.Application.create(); 
App.ApplicationController = Ember.Controller.extend({
save:function(){
//需要在这里获取remember_me的值
alert(this.get (firstname));
}
});

如何在控制器中获取remember_me(无论是否被检查)的值。可以在复选框上进行valueBinding操作。如果是这样,可以给我一个示例语法。



jsfiddle:



http://jsfiddle.net/Rtd4d/

解决方案

您应该可以使用ember提供的输入帮助器(请参阅 docs )。

  {{input type =checkboxchecked = remember_me}} 

要获取在控制器上设置的模型,请使用 this.get('model')



所以,要获得 remember_me 属性来自模型,它只是简单的

  this.get('model')。get('remember_me')

假设 remember_me 是一个布尔属性,这应该返回 true false



请参阅 jsbin






编辑



我没有意识到,默认情况下,控制器将委托给它的模型,所以

  this .get('remember_me')

应该工作。


I am trying to find whether the checkbox is checked or not in a controller.

Here's my template:

<script type="text/x-handlebars">
  {{view Ember.TextField valueBinding="firstname" placeholder="First Name"}}
  <input type="checkbox" name="remember_me"> Remember me </input>
  <button {{action save }}>Save</button>
</script>

Here's my controller:

App = Ember.Application.create();
App.ApplicationController = Ember.Controller.extend({
    save: function(){
//need to get the value of "remember_me" here
      alert(this.get("firstname"));
    }
});

How can I get the value of "remember_me" (whether it's checked or not) in the controller. Can I do valueBinding on the check box. If so , can you please give me an example syntax.

jsfiddle:

http://jsfiddle.net/Rtd4d/

解决方案

You should probably use the input helper that ember provides (see the docs).

{{input type="checkbox" checked=remember_me}}

To get the model that is set on a controller, use this.get('model').

So, to get the remember_me attribute from the model, it's simply

this.get('model').get('remember_me')

Assuming remember_me is a boolean attribute, this should return true or false.

See the jsbin.


EDIT

I didn't realize that by default the controller will delegate to it's model, so

this.get('remember_me')

should work.

这篇关于如何获取ember应用程序中控制器中模板复选框的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆