javascript - 使用 Angular JS 将 Checked 复选框的值存储在变量中

标签 javascript angularjs checkbox

我使用 ng-repeat 使用以下 days 对象值创建了一组复选框。

$scope.config = { days: [
             {name:'Monday'},
             {name:'Tuesday'},
             {name:'Wednesday'},
             {name:'Thursday'},
             {name:'Friday'},
             {name:'Saturday'},
             {name:'Sunday'},
        ]}
});

我使用 ng-repeat 的复选框就是这样。

<ul class="list-inline">
<li ng-repeat="day in config.days">
    <div class="checkbox">   
        <label class="xsm-label">
            <input type="checkbox" ng-model="day.selected" value="{{day.name}}" id="cs_select_{{day.name}}" name="selected_days" />&nbsp;{{day.name}}
        </label>
    </div>
</li>
</ul> 

我尝试了很多,但没有运气,请帮助我如何将选中的复选框值存储在变量中。

谢谢。

最佳答案

您可能需要使用ng-change指令来执行复选框的onchange方法,在函数内您可以存储选中的值

$scope.selected = function(day, index) {
    day.selected ? $scope._selected.push(day.name) : $scope._selected.splice(index, 1)
}

您的 html 应如下所示:

 <li ng-repeat="day in config.days">
    <div class="checkbox">
        <label class="xsm-label">
          <input type="checkbox" ng-model="day.selected" value="{{day.name}}" id="cs_select_{{day.name}}" 
          name="selected_days" ng-change="selected(day, $index)"/>&nbsp;{{day.name}}
                                          ^^^^^^^^^This ^^^^^^^^^
        </label>
    </div>
 </li>

Working Plunkr

关于javascript - 使用 Angular JS 将 Checked 复选框的值存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44194205/

相关文章:

javascript - jQuery on() 事件仅适用于 $(document)

java - 时间在 JHipster

javascript - jQuery 动画函数的链接无法正常工作

javascript - 如何在 AngularJS 中观察作用域的所有变化?

javascript - 如何在 Ng-repeat 中设置跨度值

javascript - 将 bool 复选框 ng-model 添加到对象 AngularJS

javascript - 在探索 Angular2 之前是否有必要先学习 TypeScript?

angularjs - ng-map:单击时如何获取 Marker 对象?

javascript - 应取消选中“全部选中”复选框

php - 如何在codeigniter中将复选框中的多值插入到数据库中