【问题标题】:AngularJS ngoptions dropdownAngularJS ngoptions 下拉菜单
【发布时间】:2014-09-11 17:01:06
【问题描述】:

所以我试图在 angularJS 中创建一个下拉选择菜单。我可以使用 ng-repeat 列出内容:

<table ng-table="tableParams" class="table">
<tr ng-repeat="food in foods">
<td data-title="'Name'">{{food.name}}</td>
</tr>
</table>

它为我显示了一份食物清单。我想把它变成一个选择。 但是,无论我尝试什么,它似乎都没有显示。 这是我迄今为止所做的工作:

<select id="food_select"class="form-control"
            ng-model="food"
            ng-options="item as item.name for item in food track by item.id">
<option value="">(Pick food)</option>
            </select>

这是我获取数据的方式:

 function getFoodList() {
            FoodService.getFoods().then(function (_data) {

                $scope.foods= _data.foods;
                 console.log("foodlist"+JSON.stringify( $scope.foods));
            });
        }

这是一个 json 示例: "id":"540894f9b2a136082606e5f0","created_at":"2014-09-04T16:36:09+0000","updated_at":"2014-09-04T16:36:09+0000","name":"香蕉"

【问题讨论】:

  • 这里应该是“食物”吗...... for item in food ...?

标签: javascript json angularjs


【解决方案1】:

JSFiddle Demo

option 就像你的数组 food 的索引值。

HTML

<div ng-app>
    <div ng-controller="Ctrl">
        <select ng-options="food.option as food.name for food in foods" ng-init="index = 0" ng-model="option[index]">{{food.name}}</select>
    </div>
</div>

JS

function Ctrl($scope) {
    $scope.foods = [{
        option: "1",
        name: "apple"
    }, {
        option: "2",
        name: "orange"
    }, {
        option: "3",
        name: "chicken"
    }];

【讨论】:

  • 这很有帮助,但我如何在没有数组的情况下使用它?我从 foodlist 函数中获取数据
  • 如果没有 ng-app 怎么办?
  • 首先,你必须有一个ng-app才能使用AngularJS,就像使用main (void)一样。并为我定义这个食物功能,因为这没有多大帮助哈哈。
猜你喜欢
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多