【问题标题】:How to add IDs of a checkbox in AngularJS?如何在AngularJS中添加复选框的ID?
【发布时间】:2018-04-13 19:58:30
【问题描述】:

我正在开展一个学校项目,用户可以在该项目中选择他/她可以从学校的计算机服务办公室借用的物品。我已完成申请表,学生/教师可以在其中插入他们的个人资料信息。我对 AngularJS 中的复选框有疑问。

我需要汇总/汇总复选框的 ID,以便它可以作为单个 int 而不是数组插入到数据库中。这是代码和一些信息。

        $scope.chkItems = [
        {
            id: 1,
            name: 'Laptop',
            value: null,

        }, {
            id: 2,
            name: 'Headset',
            value: null
        }, {
            id: 4,
            name: 'Projector',
            value: null
        }, {
            id: 8,
            name: 'Tablet',
            value: null
        }, {
            id: 16,
            name: 'Speakers',
            value: null
        }];



$scope.save = function () {

                var chkItemsValue = '';

                $scope.chkItems.forEach(function (Item) {

                    if (Item.value) {
                        chkItemValue +=  chkItem.id;
                    }
                })   
                
                }
<md-input-container class="md-block" flex-gt-sm>
<label class="force-input-label">Items</label>
</br>
<div ng-repeat="chkItem in chkItems">
<md-checkbox name="chkItem.name" ng-model="chkItem.value" ng-true-value=1 ng-false-value=0>{{chkItem.name}}
</div>
</md-input-container>

我可以在数据库中插入值,但值不同,而不是得到总值,我得到一个类似输出的数组。

  • 目前,我得到了这个:

如果我选中{笔记本电脑、投影仪、扬声器} 总数为 1416

  • 我想要什么:

如果我选中{笔记本电脑、投影仪、扬声器} 总数为 21

我是 AngularJS 和 Web 开发的新手。非常感谢您的意见!

谢谢!

【问题讨论】:

    标签: angularjs checkbox


    【解决方案1】:

    快速回答,不要将你的计数器初始化为字符串

    var chkItemsValue = 0 // not ''
    

    Array.prototype.reduce回答

    var chkItemsValue = $scope.chkItems.reduce((count, item) => {
        return count + (item.value ? item.id : 0)
    }, 0)
    

    【讨论】:

    • 感谢您的快速回复。 :)
    • 感谢您的快速回复。 : ) 哇。我花了几天的时间来检查这个。我检查了我的旧代码 chkItemsValue 设置为零。也许当我使用查找和替换时它发生了变化。多谢。这个问题已经解决了谢谢!
    猜你喜欢
    • 2017-04-22
    • 1970-01-01
    • 2015-05-19
    • 2020-04-16
    • 2016-01-29
    • 1970-01-01
    • 2014-01-26
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多