通过选中复选框来更新范围

时间:2015-01-15 03:14:05

标签: javascript angularjs angularjs-scope angularjs-ng-model

我想要通过表格行中的单个选择下拉列表或通过选择多个复选框并批量更新范围来过滤两个表格。

用户应该能够检查记录,选择顶部下拉状态,然后更新范围。如果状态大于或等于1,则进入一个表,如果少于则进入另一个表。

小提琴http://jsfiddle.net/TheFiddler/hxz06sd7/

如何使用复选框根据所选值更新选中的值?

选择

 <select ng-options="item.value as item.displayName for item in StatusDropDown" ng-model="person.status" ng-change="updateSelected()"></select>

updatedSelected应该选中已检查的行并过滤:

$scope.updateSelected = function(statusarg){
            //how to set status for selected and update tables

}

1 个答案:

答案 0 :(得分:0)

将复制模型(person.selected)关联到复选框并进行更改,根据所选属性对其进行过滤,然后将value应用于它们。

$scope.updateSelected = function (statusarg) {
    //how to set status for selected and update tables
    angular.forEach($scope.people, function(person){
        person.selected && (person.status = statusarg);
    });
}

<强> Fiddle

您的代码的早期问题是:您不应将track byselect as语法一起使用,而不是一起使用。您很少需要使用ng-options来跟踪。 Read this了解更多详情。