繁体   English   中英

如何使用角度数组在复选框中显示选中的值?

[英]how to display checked values in checkbox using angular array?

我已经完成了在首页中选择htc并转到另一个页面的操作。 现在,我要显示所选的存储值和severdata是否匹配(在这种情况下,我需要显示true)。 在提交事件期间,我想传递所有选定的值。 我已经尝试了下面的代码,但是它对我不起作用。

$scope.Selctedstores =window.localStorage.getItem("selectedservices");
console.log($scope.Selctedstores);
//console i am getting htc

var serverData = ["Nokia", "Htc", "Samsung"];       
    $scope.items = [];
    for (var i = 0; i < serverData.length; i++)
    {
        var modal = {
            name: serverData[i],
            selected: false
        };           
        $scope.items.push(modal);
    }
    $scope.check = function()
    {
        var checkedItems = [];
        for (var i = 0; i < $scope.items.length; i++) {
            if ($scope.items[i].selected) {
                checkedItems.push($scope.items[i].name);
            }
        }
        console.log(checkedItems);
    }

html

<div ng-controller="Test1Controller">
    <div ng-repeat="item in items">
        <input type="checkbox" ng-model="item.selected" /> {{item.name}}
    </div>
    <input type="button" name="submit" value="submit" ng-click="check()" />
</div>

在推送到项目数组之前,请检查所选商店中是否已存在该项目。 如果是这样,则将selected设置为true。 希望这可以帮助。 如果您有任何问题,请告诉我

检查更新的小提琴

function TodoCtrl($scope) {
        var serverData = ["Nokia", "Htc", "Samsung"];
        var selectedStore = ["Htc"]
        $scope.items = [];
        for (var i = 0; i < serverData.length; i++)
        {
            var modal = {
                name: serverData[i],
                selected: false
            };
            if (selectedStore.indexOf(serverData[i]) >= 0) {
                modal.selected = true;
            }
            $scope.items.push(modal);
        }
        $scope.check = function()
        {
            var checkedItems = [];
            for (var i = 0; i < $scope.items.length; i++) {
                if ($scope.items[i].selected) {
                    checkedItems.push($scope.items[i].name);
                }
            }
            console.log(checkedItems);
        }
    }

尝试

for(var i=0;i<serverData.length;i++) { var modal = { name:serverData[i], selected:($scope.Selctedstores !== null && $scope.Selctedstores.indexOf(serverData[i]) > -1) ? true : false };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM