首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS-动态input[radio]不被检查

AngularJS-动态input[radio]不被检查
EN

Stack Overflow用户
提问于 2014-06-28 08:45:32
回答 1查看 453关注 0票数 0

我正在构建一个基于来自API的JSON数据的动态无线电输入列表。

我用的是ngRepeat + track byinput[radio]ngValue

任何新的XHR请求都将刷新作用域中的数据,但是当前检查的无线电(如果有的话)将未被选中

请参阅这个plnkr演示:http://embed.plnkr.co/2q1A7krBzxIjkfwhXYcK/preview

这可以通过在ngValue中使用插值指令来解决,但我觉得我做错了:

代码语言:javascript
复制
<input type="radio" name="c" ng-value="{{ choice }}" ng-model="selected.choice" required>

这也可以通过使用ng-init来解决,但我仍然觉得自己做错了:

代码语言:javascript
复制
<input type="radio" name="c" ng-init="c = choice" ng-value="c" ng-model="selected.choice" required>

有人能解释一下发生了什么事吗?

相关问题:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-28 08:55:14

角是在这里使用相等的引用来计算哪个无线电按钮会被勾选,所以当你替换整个xhrData对象时,这个引用就丢失了。

如果添加

代码语言:javascript
复制
$scope.selected.choice = $scope.xhrData.all.choices[2]

你的抓取函数的底部。

恐怕您必须在替换xhrData对象之前保存选择,然后在获取新数据后重新设置它。我不知道还有别的办法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24465164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档