Javascript 使用ng选项传递值而不是整个对象
我正在解析一个.json文件,并在select中显示所有可用选项:Javascript 使用ng选项传递值而不是整个对象,javascript,angularjs,Javascript,Angularjs,我正在解析一个.json文件,并在select中显示所有可用选项: <div bo-switch-when="dropdown"> <fieldset> <select ng-options="options.text for option in question.body.options" ng-model="question.answer" ></select> </fieldset> </div>
<div bo-switch-when="dropdown">
<fieldset>
<select ng-options="options.text for option in question.body.options" ng-model="question.answer" ></select>
</fieldset>
</div>
它根本不起作用
这实际上是Angular开发者中一个非常常见的问题 您可以使用
ng repeat
,如下所示:
<select ng-model="question.answer" >
<option ng-repeat="option in question.body.options" value="{{option.text}}">{{option.text}}</option>
</select>
{{option.text}
根据,您可以指定要用作选项值的对象属性选择对象中(键、值)的标签
其中,select
是绑定到模型的属性,label
是用作选项标签的属性。
不需要在这里重复
在您的情况下,只需在select和label中使用.text属性:
告诉我。。。今天是星期五,也许我错过了什么。我有不同类型的元素(单选按钮、复选框等),我的验证工作与文本,而不是整个对象。所以我想更改传递值,而不是我在模型中的函数。@chandu试图请您提供一个,以便我们可以更轻松地帮助您。这是最好的答案!值得一提的是,对于那些希望将id设置为值并显示其他内容的人,她将使用
option.key作为option.text作为option.body.options的选项。
<select ng-model="question.answer" >
<option ng-repeat="option in question.body.options" value="{{option.text}}">{{option.text}}</option>
</select>
<select ng-options="option.text as option.text for option in question.body.options" ng-model="question.answer" >