Angular JS - 将下拉列表(ng-options)绑定到自定义对象并显示选定的值

时间:2015-10-04 17:19:45

标签: angularjs angularjs-ng-options

我想要的是在打开编辑书表单时显示ddl的初始值。但它没有显示任何值,请参阅我用于绑定ddl的代码 - 新书和作者是上面定义的JSON数据。

下拉是以这种格式 -

的格式绑定到作者json数组
{id:1, Name: XYZ}

并且此ddl是具有以下格式的书籍的编辑表单的一部分 -

newbook = {
    Id:bctx.bookDetail.Id,
    Author: { Id: bctx.bookDetail.AuthorId, Name: bctx.bookDetail.AuthorName },
    Genre: bctx.bookDetail.Genre,
    Price: bctx.bookDetail.Price,
    Title: bctx.bookDetail.Title,
    Year: bctx.bookDetail.Year
};   


<select ng-options="author as author.Name for author in actrl.authors" ng-model="bctrl.newbook.Author" required>
    <option value="">--Select--</option>
</select>  

1 个答案:

答案 0 :(得分:0)

我认为选择选项只能是简单对象,因此您可能希望将选择更改为id(或任何其他数字/字符串值)。您可以通过侦听更改事件来检索控制器中实际选定的作者对象。

在浏览the documentation后,您可能会查看“track by”以启用复杂对象选择。