我经历的Angularjs tuts and docs given in the official angularjs website.angularjs分配绑定变量的HTML标记属性
在这里,我们增加一个选择框的排序,这样
<select ng-model="orderProp">
<option value="name">Alphabetical</option>
<option value="age">Newest</option>
</select>
,并在控制器中,我们给$scope.orderProp = "age"
此工作正常, '最新'将是默认选择选项。
然后我试着把订单项放到一个模型上,然后用ng-repeat填充选择框。
<select ng-model="orderProp">
<option ng-repeat="orderby in orderProperties" value="{{orderby.criteria}}">{{orderby.property}}</option>
</select>
其中:
orderProp模式是:
function PhoneListCtrl($scope){
$(document).ready($scope.orderProp = "age");
$scope.orderProperties = [
{"property":"Alphabetical","criteria":"name"},
{"property":"Newest","criteria":"age"}
];
}
在DOM我可以看到value="name"
和value="age"
。但是这次默认值没有设置为“最新”。我不明白为什么硬编码value="age"
正在工作,而value="{{orderby.criteria}}"
不是。任何人都可以请指导我通过。
我发现,$ scope.orderProp =“age”期间的值正在设置,排序正在触发。但是选择框'
你应该看看[这里](http://docs.angularjs.org/api/ng.directive:select)。它解释了如何使用'select'。而且你不需要'$(document).ready(...)'。 – maxdec 2013-03-22 10:29:36