如何使用对象作为单选按钮的ng值
How to use an object as ng-value of a radio button?
是否有办法使用一个对象的ng值的单选按钮?
假设你有一个单选按钮,它的ng-model是一个对象,像这样:
modelObject: {val:'', text:''}
这是单选按钮:
<input type="radio" ng-model="data.modelObject" ng-value=""/>
有没有一种方法可以像下面这样做(显然它不起作用)
<input type="radio" model="data.modelObject" ng-value="val:option.id, text:option.text"/>
?由于
我知道我可以使用ng-change指令。我只是想知道我所要求的是否可能,这将是非常聪明的
编辑:根据评论中的要求,我给出了一些关于我的设置的额外信息。
我想在模型中保存按钮的值及其标签。假设我的控制器中有一个名为impactOptions的数组还有一个ng-repeat指令来创建按钮
<div ng-repeat="option in impactOptions" >
<input type="radio" ng-model="data.modelObject.val" id="rbGroup{{option.id}} ng-value="option.id"/>
<label for="rbGroup{{option.id}}">{{option.text}}</label>
</div>
这个设置的问题是,这样我只保存按钮的值,而我也想保存它的标签。我以后真的需要它。
我正在寻找一种方法来做这样的事情
<input type="radio" model="data.modelObject" ng-value="val:option.id, text:option.text"/>
您可以使用一个对象作为ng-value
:
<div ng-app>
<input type="radio" ng-model="modelObject" ng-value="{val:1, text:'text'}"/>
<p>>{{modelObject|json}}<</p>
</div>
例子小提琴
对于每个请求,ng-value
中的值也可以是动态的:
<div ng-app ng-init="opt={id: 1, text: 'some text'}">
<input type="radio" ng-model="modelObject" ng-value="{val:opt.id, text:opt.text}"/>
<p>>{{modelObject|json}}<</p>
</div>
更新示例fiddle
您可以使用ng-value="option"
:
<input type="radio" model="data.modelObject" ng-value="option"/>
当您需要id
时,您可以从$scope.option.id
获得它,当您需要text
时,您可以从$scope.option.text
访问它。点击这里查看我的答案。这对你的案子有用吗?
相关文章:
- Ng点击记住单选按钮选择
- 将 ng 重复中的单选按钮设置为选中
- 嵌套ng中的Angularjs单选按钮重复未选中
- 如何在控制器内获取ng重复单选按钮值
- 使用嵌套ng中带有单选按钮的ng模型重复不起作用
- 角度ng内的多个单选按钮组重复
- ng单选按钮中的型号更改
- AngularJS-使用ng repeat构建的单选按钮的设置值
- 离子,棱角分明,每次更改时$state ng 中重置单选按钮组重复
- 如何在AngularJS(ng-repeat)中获取选定的单选按钮数据
- 在带有 ng 重复的动态单选按钮上设置值
- 单选按钮在嵌套的 ng 重复和过滤器中不起作用
- 使用ng重复,棱角分明的单选按钮
- NG-模型似乎只在模态视图内的离子单选按钮上绑定一种方式
- 单选按钮中的 ng 模型始终未定义
- UI 引导单选按钮在 ng-repeat
- AngularJS ng-repeat,两个单选按钮无法正常工作
- 具有动态单选按钮的必需属性(NG 重复)
- 获取 Angular JS 中单选按钮中选中的单选按钮的值,该值为 ng-repeat
- AngularJs 指令在更改时获取单选按钮 ng-model 值