1

画像に示すようにフィルターを実装しようとしています。Angular JS フレームワーク、JQuery を使用しています。

要件は、アプリケーション名、ステータスなどのチェック ボックス フィルターがあることです。アプリケーションまたはステータスを選択すると、以下のように動的に JSON を作成する必要があります。「filterValues」の値は、チェック ボックスの値に基づいて自動的に追加または削除されます。

json 値に基づいて、データベースにクエリを実行し、結果を取得して表示します。

私は以下のようなチェックボックスを構築しています:

<div class="row-fluid">
<div ng-repeat="status in keywords.kw_Status">
    <label class="checkbox">
        <input type="checkbox" value="{{status}}" ng-model="isChecked" ng-change="change('Status','txt_Status',status,isChecked)">{{status}}
    </label>
</div>

対応するコントローラーのコードは次のとおりです。

$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"
    ]
}

}

4

1 に答える 1

0

「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)
于 2013-12-06T02:09:16.203 に答える