[英]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 class
的id
。
所以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
的track 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
发生两件事;
restaurant class
。 所以我最后得到了-- Select Class --
显示了默认的 restaurant class
,则该值设置正确。 我正在使用ng-inspector
检查在$scope
上设置了什么值
因此,我想我的问题是如何根据从DB
检索到的内容选择正确的restaurant class
,并且能够在不获取undefined
值的情况下进行更改。
感谢Angular
大师的任何指导。
是。 Db值由模型自动选择。 检查您是否还有其他问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.