所以,我尝试了这个Link two select boxes using angular js,但不知道如何在我的情况下使用这个公式使用这个JSON:
{
"option1": [{
"countries": [
{
"currency": "ARS"
},
{
"currency": "USD"
}
]
}],
"option2": [{
"countries": [
{
"currency": "EUR"
},
{
"currency": "GBP"
}
]
}],
"option3": [{
"countries": [
{
"currency": "RU"
},
{
"currency": "TR"
}
]
}]
}
第一个选择应该有option1,option2,option3。如果选择了option1,则第二个选择应具有ARS和USD。
这样做的正确方法是什么?
UPDATE1:我做了类似@Joaozito Polo回答的事情,但尝试在两个选项中使用ngModel设置默认值,当我更改第一个选择时,第二个变为空白。
UPDATE2:现在我得到它并且正在工作,buuuuuuut ....仅在the jsbin,我不明白为什么不能在我的真实代码中工作。当我这样做时:
<select ng-options="value as name for (name, value) in options" ng-model="currentOption" ng-change="showSomething()"></select>
并在ngChange中执行如下控制台日志:
$scope.showSomething = function() {
console.log($scope.currentOption);
};
我总是得到相同的选项,但在jsbin中选项更改:/我正在使用ionic和cordova,也许是一个bug?
UPDATE3:找到this,工作完全正确。这是一个好的解决方案吗?为什么离子不起作用?我不想理解这种行为。
提前致谢
答案 0 :(得分:1)
将您的数据模型视为变量“选项”......
您需要在ng-options上使用(键,值):
Option
<select ng-options="value as name for (name, value) in options" ng-model="currentOption"></select>
Currency
<select ng-options="item as item.currency for item in currentOption[0].countries" ng-model="currency"></select>
看看这个jsbin:jsbin