gpt4 book ai didi

angularjs - 根据用户选择过滤 ng-options

转载 作者:行者123 更新时间:2023-12-04 23:49:12 26 4
gpt4 key购买 nike

我有两个 选择 元素。第一个用于选择一个国家。
第二个用于选择一个状态。

每个州都与一个国家有联系。

状态:

[{"code":"SC","name":"Santa Catarina","country":{"code":"BRA","name":"Brazil"}},    {"code":"RR","name":"Roraima","country":{"code":"BRA","name":"Brazil"}},{"code":"AL","name":"Alabama","country":{"code":"USA","name":"United States"}},{"code":"FL","name":"Florida","country":{"code":"USA","name":"United States"}}] 

国家:
[{"code":"BRA","name":"Brasil"},{"code":"USA","name":"United States"}] 

HTML 内容:
<select ng-model="userCountry" ng-options="country.name for country in countries track by country.name">
 <select ng-model="userState" ng-options="state.name for state in states track by state.name | filter: {state.country.code:userCountry.code}">

因此,首先,用户选择一个国家,该国家与“userCountry”相关联。
$scope.userCountry = new Object();

现在,各州 选择 元素应仅显示与该国家/地区关联的州,但当前正在加载所有州。它不起作用:(

我不知道我是否使用了正确的语法。谁能帮我?

这是我的过滤器:
| filter: {state.country.code:userCountry.code}

我尝试了许多不同的变体,但没有成功。

这是我的问题的 fiddle :
http://jsfiddle.net/zrm7y80s/2/

它使用 Angular 1.2.23

谢谢!!

最佳答案

将您的 ng-options 更改为:

<select ng-model="userState" ng-options="state.name for state in ( states | filter: {country: { code: userCountry.code }}) track by state.name">

您想在跟踪之前运行过滤器,还想过滤子对象,因为 state.country.code 作为对象键无效。

更新 fiddle : http://jsfiddle.net/dw20jakt/

关于angularjs - 根据用户选择过滤 ng-options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26888441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com