动态地为JSON子数组添加值?

我正在尝试实现图像中所示的filter。 我正在使用Angular JS框架,JQuery。

要求是,我有复选框filter,如应用程序名称,状态等。在选择应用程序或状态时,我需要动态创建一个JSON,如下所示。 应根据复选框值自动添加或删除“filterValues”中的值。

根据json值,我将查询数据库并获取结果并显示。

我正在构建如下的复选框:

相应的控制器代码如下

 $scope.change=function(filterCategory, filterField, filterValue, filterAdd){ $scope.filters[filterCategory]={"filterField":filterField,"filterValues":[filterValue]}; console.log($scope.filters); 

}

任何帮助深表感谢!!

我正在尝试实现图像中所示的过滤器

 { "Region": { "filterField": "kw_Region", "filterValues": [ "aa", "bb" ] }, "ApplicationName": { "filterField": "kw_ApplicationName", "filterValues": [ "aa", "bb" ] }, "IssueType": { "filterField": "kw_IssueType", "filterValues": [ "aa", "bb" ] }, "Outage": { "filterField": "kw_Outage", "filterValues": [ "aa", "bb" ] }, "Priority": { "filterField": "kw_Priority", "filterValues": [ "aa", "bb" ] } 

}

应根据复选框值自动添加或删除“filterValues”中的值。

使用JSON.stringify和replacer回调来实现这个目的:

 function replacer(match, offset, fullstring) { return replacer.str; } replacer.str = "\u0022filterValues\u0022:[\u0022hi\u0022,\u0022bye\u0022]"; /* Use DOM node value */ var foo = JSON.stringify({ "Region": { "filterField": "kw_Region", "filterValues": [ "aa", "bb" ] }, "ApplicationName": { "filterField": "kw_ApplicationName", "filterValues": [ "aa", "bb" ] }, "IssueType": { "filterField": "kw_IssueType", "filterValues": [ "aa", "bb" ] }, "Outage": { "filterField": "kw_Outage", "filterValues": [ "aa", "bb" ] }, "Priority": { "filterField": "kw_Priority", "filterValues": [ "aa", "bb" ] } }).replace(/"filterValues[^\]]+./g, replacer)