繁体   English   中英

ng-Options编辑选项-AngularJS

[英]ng-Options edit options - AngularJS

所以我有一个带有select选项的AngularJS表单在我的DB创建一个restaurant ;

<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检索了它,它将具有上面表格中为它保存的任何类。 这是restaurant classid

所以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_idtrack by restaurant.restaurant_class_id 这是期望的行为。加载form ,加载restaurant ,加载restaurant classes ,并在下拉列表中自动设置相应的restaurant class

现在的问题是,何时我要为该restaurant选择另一个restaurant class 这导致undefined值。

如果我track by restaurant.restaurant_class_id删除track by restaurant.restaurant_class_id并将其替换track by class.id发生两件事;

  1. 未选择restaurant class 所以我最后得到了-- Select Class --显示了默认的
  2. 如果我从下拉菜单中选择一家restaurant class ,则该值设置正确。

我正在使用ng-inspector检查在$scope上设置了什么值

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

感谢Angular大师的任何指导。

是。 Db值由模型自动选择。 检查您是否还有其他问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM