ng-Options编辑选项 - AngularJS

时间:2016-01-15 02:11:05

标签: javascript jquery angularjs

所以我有一个AngularJS表单,其select选项可以在restaurant中创建DB;

<div id="name-group" class="form-group" ng-init="getClasses();">
    <div class="select-wrapper">
        <label for="location">Resaurant Class</label>
        <select name="class" ng-model="formData.class" ng-options="class.id as class.name for class in classes track by class.id">
            <option value="">-- Select Class --</option>
        </select>
    </div>
</div>

从上面开始,我获得classes然后列出它们。因为我有track by class.id,这意味着我可以拥有default选项,因为它没有value。一切都很好。

现在编辑这个restaurant,我从DB中检索它,它将从上面的表单中获得我为它保存的任何类。这是id的{​​{1}}。

所以restaurant class

现在当我检索restaurant.restaurant_class_id = class.id时,使用下面的代码我可以加载表单,restaurant将被正确选择;

restaurant class

注意<div id="name-group" class="form-group" ng-init="getClasses();"> <div class="select-wrapper"> <label for="location">Resaurant Class</label> <select name="class" ng-model="restaurant.restaurant_class_id" ng-options="class.id as class.name for class in classes track by restaurant.restaurant_class_id"> <option value="">-- Select Class --</option> </select> </div> </div> 。这是所需的行为。加载track by restaurant.restaurant_class_id,加载form,加载restaurant,然后在下拉列表中自动设置相应的restaurant classes

现在的问题是我何时想为restaurant class选择另一个restaurant class。这会产生restaurant值。

如果我删除undefined并将其替换为track by restaurant.restaurant_class_id,则会发生两件事情;

  1. 未选择track by class.id。所以我最终显示的是restaurant class,这是默认的
  2. 如果我从下拉列表中选择-- Select Class --,则表示值已正确设置。
  3. 我使用restaurant class检查ng-inspector

    上设置的值

    所以我想我的问题是如何根据从$scope检索到的内容选择正确的restaurant class,并且能够在不获取DB值的情况下进行更改。

    来自undefined大师的任何指导都表示赞赏。

1 个答案:

答案 0 :(得分:0)

是。 Db值由型号自动选择。检查你是否有其他问题