Angularjs angular.js具有自定义值的ng选项

Angularjs angular.js具有自定义值的ng选项,angularjs,select,model,ng-options,Angularjs,Select,Model,Ng Options,我有一个从ajax调用返回的json对象: 0: Object id: "0-0-0" selected: "selected" text: "option name" value: 0 __proto__: Object 1: Object id: "12-0-0" selected: "" text: "4C 1.75 16v Tbi ( TCT )" value: 59885 我想填充选择的选项,如下所示: <

我有一个从ajax调用返回的json对象:

0: Object
    id: "0-0-0"
    selected: "selected"
    text: "option name"
    value: 0
    __proto__: Object
1: Object
    id: "12-0-0"
    selected: ""
    text: "4C 1.75 16v Tbi ( TCT )"
    value: 59885
我想填充选择的选项,如下所示:

<option value="0" id="0-0-0" selected="selected">option name </option>
选项名称

ng选项如何实现这一点?

ng repeat
如果需要由服务器响应填充的
id
属性,则更有意义:

HTML:

<select>
    <option ng-repeat="obj in results" id="{{obj.id}}" value="{{obj.value}}"
    ng-selected="obj.selected === 'selected'">{{obj.text}}</option>
</select>

ng repeat
如果需要由服务器响应填充的
id
属性,则更有意义:

HTML:

<select>
    <option ng-repeat="obj in results" id="{{obj.id}}" value="{{obj.value}}"
    ng-selected="obj.selected === 'selected'">{{obj.text}}</option>
</select>

请参阅下面我的答案,它假设您实际上正在处理一组对象。如果您实际上只处理从服务器返回的单个对象,请更新您的问题,以解释为什么以及如何使用
select
作为单个选项。感谢Marc提供的非常好的答案。是的,我正在处理对象数组。然而,我确实想问你们,我已经读到在select中使用ng repeat是一种不好的做法。因此,在我的例子中,如果我想坚持使用id,那么使用ng repeat是否不好?
ng repeat
为每个迭代创建一个新的范围,因此
ng options
是更有效的选择,但在您的例子中,听起来您需要使用它,并且除非您输出了很多很多选项,否则这应该不会是一个问题。请参阅下面我的答案,假设您实际处理的是一组对象。如果您实际上只处理从服务器返回的单个对象,请更新您的问题,以解释为什么以及如何使用
select
作为单个选项。感谢Marc提供的非常好的答案。是的,我正在处理对象数组。然而,我确实想问你们,我已经读到在select中使用ng repeat是一种不好的做法。因此,在我的例子中,如果我想坚持使用id,那么使用ng repeat是否不好?
ng repeat
为每个迭代创建一个新的范围,因此
ng options
是更有效的选择,但在您的例子中,听起来您需要使用它,并且除非您输出很多很多选项,否则这应该不会是一个问题,在演示中,select中的options值未获得object.value。相反,它从0开始,对每个选项进行累加…这就是ng选项的工作方式,但是存储在ng模型值中的内容将是您在理解表达式中为其设置的内容(演示中的整个对象)。如果您需要将该值设置为其他值,则最好选择ng repeat。在演示中的ng选项示例中,select中的选项值不会获得object.value。相反,它从0开始,对每个选项进行累加…这就是ng选项的工作方式,但是存储在ng模型值中的内容将是您在理解表达式中为其设置的内容(演示中的整个对象)。如果您需要将该值设置为其他值,那么ng repeat是更好的选择。