gpt4 book ai didi

angularjs - 自动为所有 ng-repeat 行选择单选按钮

转载 作者:行者123 更新时间:2023-12-03 08:11:14 27 4
gpt4 key购买 nike

我有一个条件列表,用户必须为每个条件单击是或否。使用 ng-repeat 显示所有条件列表和一个带有与该代码相关的"is"和“否”单选按钮的列。选择是或否的选择独立于另一行的选择。 当我用"is"标记某一行时,所有行都被自动标记为"is"。理想的行为是默认情况下初始单选按钮值应为空,并且应该能够为每一行选择是或否。有人可以帮忙解决这里犯的错误吗?谢谢。

<div ng-repeat= "person in myService.codeDetail">
<div class="col-md-2">
<div class="radio">
<input
type="radio"
name= "radio{{$index}}"
id=""
data-ng-model= "model.isChecked"
ng-value="true"
ng-click="myService.updateList(patient.code)"
>
<label for="radio{{$index}}">Yes</label>
</div>
<div class="radio">
<input
type="radio"
name="radio{{$index}}"
id=""
data-ng-model="model.isChecked"
ng-value="false"
ng-click="myService.updateList(person.code)"
>
<label for="radio{{$index}}">No</label>
</div>
</div>

用于拉取代码的Json对象,描述来自

     { "totalCount" : 48, "count" : 3, "offset" : 0, "limit" : 3,
"codeDetail" :
{
"codeList" : [{"Icd" : "250.42", "description" : "type 2", "date": "11/28/2015"},
{"Icd" : "250.41", "description" : "type 1", "date": "11/27/2015"},
{"Icd" : "250.40", "description" : "type 0 ", "date": "11/26/2015"}]
}

}

Angular Controller :

   $scope.model = {}; // model object from service to store data
$scope.myService = myService // binding angular service class to scope

myService.updateList = function() {}; // a method in angular service

enter image description here

最佳答案

你需要使用$index:

然后,将 data-ng-model 转换为 true 或 false 值的数组,并将索引传递给 data-ng-model,如下所示:

data-ng-model = "model.isChecked[$index]"

然后你的数组可以像这样在范围内:

scope.model.isChecked[$index] = [null, null... for how many questions you have]

此外,根据最佳实践说明,您应该利用您在 ng-repeat 中创建的 person 对象。您可以将该人的答案存储为此“人”对象的 属性:

data-ng-model = "person.answer"或类似/更语义化的东西。

还有一点需要注意,您可以查看 angular 的有关单选按钮的文档,看来您可以使它们更符合 angular 的首选实现。

https://docs.angularjs.org/api/ng/input/input%5Bradio%5D

关于angularjs - 自动为所有 ng-repeat 行选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35739396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com