簡體   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