0

花括号语法插值用于将模型中的数据绑定到 angularjs 中的视图。

通常我们使用它来显示文本。

我们可以{{}}以任何方式使用语法填充下拉列表吗?

4

4 回答 4

5
<select>
    <option ng-repeat="item in items" value="item.value">{{item.title}}</option>
</select>
于 2013-09-12T13:55:48.757 回答
1

您当然可以使用花括号以角度填充下拉列表,但它不会产生预期的效果。
如果你想在你的选择框中进行数据绑定,你应该使用select 指令option,它以与指令类似的方式写入标签ng-repeat
这是一个例子:

js

$scope.selectables = [
    { label: 'A', value: 1},
    { label:'B', value: 2},
    { label: 'C', value: 3}
];

// this is the model that's used for the data binding in the select directive
// the default selected item
$scope.selectedItem = $scope.selectables[0];

html

<select 
   ng-model="selectedItem" 
   ng-options="o.label for o in selectables">
</select>
<p>Selected item value: {{selectedItem.value}}</p>

这是一个清除问题的演示:http: //jsfiddle.net/gion_13/TU6tp/

于 2013-09-12T13:02:43.793 回答
0

好吧,您可以通过这种方式填充下拉列表:

<select ng-model="myItem" ng-options="item.name for item in items"></select>

所选项目将存储在$scope.myItem.

检查此页面:http ://docs.angularjs.org/api/ng.directive:select

希望能帮助到你。

于 2013-09-12T13:05:20.210 回答
0

你可以这样做:

<select ng-model="searchDropdown" ng-class="{active: isDropdownActive}">
            <option ng-repeat="item in data.results" value="{{ item[settings.filterOptions[0].value] }}" >{{ item[settings.filterOptions[0].value] }}</option>
</select>
于 2013-09-12T14:00:11.263 回答