Angularjs根据所选选项过滤值

时间:2014-01-29 01:40:36

标签: angularjs angularjs-directive

您好我正在尝试根据下拉列表中选择的选项显示某些值。 我的代码是 数据是

[{"city":"New York","location":"123"},
{"city":"Chicago","location":"953"}
{"city":"New York","location":"788"}
{"city":"Chicago","location":"853"}]

代码是

<form name="test" class="form-horizontal">
        <div class="from-group container">
            <label for="abc" class="col-sm-2">City</label>
            <div class="col-sm-10">
                <select class="form-control" ng-model="cc">
                    <option ng-repeat="city in cities" value="city.value">{{city.name}}</option>
                </select>
            </div>
            <ul>
                <li ng-repeat="att in cities">{{att.locations | filter:cc}} ></li>
            </ul>
        </div>
</form>

上面的代码我有两个问题。  1.当我在下拉列表中选择不同的选项时,它不会过滤该城市名称。  2.首次加载文件时,它将显示所有位置 请让我知道如何修复此代码,以便在我选择一个选项时,它会根据城市名称列出所有过滤的位置。 谢谢

1 个答案:

答案 0 :(得分:3)

angular有一个非常酷的功能,您可以直接在ng-repeat中过滤。

我已经设置了fiddle,您可以在其中看到这一点。基本上你根据选择设置了一个对象(cc),然后使用:

<div ng-repeat="city in data | filter:cc">

希望这会有所帮助。