我无法使用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");
}
}
});
答案 0 :(得分:2)
您需要将选择框的值绑定到控制器中的属性。
Currency {{view Ember.Select
content=name
optionValuePath="content.value"
optionLabelPath="content.value"
valueBinding=currency}}
然后,您可以直接将该值作为this.get('currency');