gpt4 book ai didi

javascript - 在 ng-repeat 上初始化复选框 angularjs

转载 作者:行者123 更新时间:2023-12-03 05:13:14 25 4
gpt4 key购买 nike

我遇到了这样的情况:

<md-subheader class="md-no-sticky">
<span data-ng-if="itemSelected == undefined || itemSelected == ''">Choose</span>
<span data-ng-if="itemSelected != '' || itemSelected != undefined">{{itemSelected}}</span>
</md-subheader>
<md-list-item ng-repeat="item in items">
<p> {{item.name}} </p>
<md-checkbox class="md-secondary" ng-init="itemSelection" ng-model="itemSelection" ng-change="changeItemSelected(item)"></md-checkbox>
</md-list-item>

其中我有一个项目列表,您可以使用复选框进行选择。ng-change 上的函数是这样的:

$scope.changeItemSelected = function(item) {
$scope.itemSelected = item.name;
};

当 Controller 启动时,我调用一个服务来获取之前检查的数据。因此,如果数据不是未定义的(这意味着在检查某些内容之前),我将此 itemSelection 设置为 true。正如你所看到的,这个变量在 ng-init 上使用。它有效,但效果不是太多。通过这种方式,它会选择所有复选框,而不是我想要的复选框。我无法重现 init 调用。顺便说一下,我针对这种情况创建了一个jsfiddle http://jsfiddle.net/2f6qscrp/225/尝试认为当 jsfiddle 启动时,它会触发对服务器的调用以获取之前选择的项目之一。例如我想选择列表的第三项。因为服务器返回的第三个数据是这样的:

{"data":{orange},"meta":{"code":200}}

类似的事情

最佳答案

这里我在 ng-init 中调用了一个函数 checkItem():

<md-checkbox class="md-secondary" ng-init="checkItem(item)" 
ng-model="item.checked"
ng-change="changeItemSelected(item)">
</md-checkbox>

此函数检查复选框名称是否对应于从服务器返回的对象:

$scope.srvValue = { // Value from your server
"data": "orange",
"meta": {"code": 200}
};

$scope.checkItem = function(item) {
if (item.name == $scope.srvValue.data) { // It matchs!
item.checked = true;
$scope.changeItemSelected(item);
}
else item.checked = false; // It does not
};

JSFiddle demo

关于javascript - 在 ng-repeat 上初始化复选框 angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714768/

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