使用emberjs获取多个下拉值

时间:2014-07-06 15:54:07

标签: javascript html5 ember.js handlebars.js

我无法使用emberjs从下拉框中检索值。实际上,如果我使用单选框,我可以检索该值,但如果我选择第二个下拉列表,则第一个下拉框将被刷新。 所以在我的代码中我使用了3个下拉框,如果我选择第二个或第三个下拉列表,之前的下拉列表将会刷新。 这是我的HTML代码:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Registration</title>


</head>
<body>

  <!-- ... Ember.js and other javascript dependencies ... -->   
  <script type="text/x-handlebars" data-template-name="">
  <form>
  Currency {{view Ember.Select content=name optionValuePath="content.value" value=content.value optionLabelPath="content.value" selectionBinding=currency}}
  Fuel Economy {{view Ember.Select content=name1 optionValuePath="content.value" value=content.value optionLabelPath="content.value" selectionBinding=fuel}}
  Date_Format {{view Ember.Select content=name2 optionValuePath="content.value" value=content.value optionLabelPath="content.value" selectionBinding=dateval}}


    <input type="button" {{action 'check' 77}} value="Hit Me" />
</form>
  </script>

  <script src="js/libs/jquery-1.9.1.js"></script>
  <script src="js/libs/handlebars-v1.3.0.js"></script>
  <script src="js/libs/ember.js"></script>
  <script src="js/libs/ember-data.js"></script>

  <script src="js/select.js"></script>


</body>
</html>

这是我的JS代码:

window.Format = Ember.Application.create();
Format.ApplicationController = Ember.ArrayController.extend({

currency : null, 
fuel : null, 
dateval : null,                                                     
name: [{value:"USD"}, {value:"INR"}],
name1: [{value:"Kmph"},{value: "Mph"}],
name2: [{value:"dd/mm/yyyy"},{value: "mm/dd/yyyy"}],
actions: {
    check: function() {
        var currency = this.get("currency.value");
        var fuel = this.get("fuel.value");
        var dateval = this.get("dateval.value");

    }
}

});

1 个答案:

答案 0 :(得分:2)

您需要将选择框的值绑定到控制器中的属性。

Currency {{view Ember.Select 
  content=name 
  optionValuePath="content.value"
  optionLabelPath="content.value"
  valueBinding=currency}}

然后,您可以直接将该值作为this.get('currency');

访问该属性

Here is a working bin.