下拉过滤器在angularjs中不起作用

时间:2015-02-12 06:31:36

标签: json angularjs

我在AngularJs中创建了一个下拉过滤器。请看链接。
http://plnkr.co/edit/c5Hrqfv1eA5qfQpkYR41?p=preview
它运行正常,但我想将当前的JSON替换为新的JSON。

    $scope.data={
      "language": "en",
      "0": {
        "id": "2222",
        "deck": [
          {
            "id": "2421",
            "level": "5",
            "name": "Plaza Deck 5"
          },
          {
            "id": "2433",
            "level": "6",
            "name": "Fiesta Deck 6"
          },
          {
            "id": "2442",
            "level": "7",
            "name": "Promenade Deck 7"
          }
        ]
      }
    }

我想用上面的JSON进行更改。 请帮忙。
感谢。

1 个答案:

答案 0 :(得分:1)

我不知道你为什么要从简单的数组切换到复杂的数组。

但这是你的解决方案

<强> HTML

 <select ng-model="filterDeck1.deckDetail1" ng-options="deck.name for deck in data1['0'].deck">
 </select>

<强>的JavaScript

//filter for new json structure
$scope.customDeck1 = function (data) {
    if (data.id === $scope.filterDeck1.deckDetail1.id) {
      return true;
    } else {
      return false;
    }
  };

您可以将上面的过滤器代码从控制器移到过滤器,这样做会更方便。

这是Working Fiddle 希望这可以帮到你。感谢。