【问题标题】:Link two select in AngularJS with JSON使用 JSON 链接 AngularJS 中的两个选择
【发布时间】:2015-10-22 23:59:45
【问题描述】:

所以,我尝试使用这个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,也许是一个错误?

UPDATE3: 找到了this,工作得很好。这是一个好的解决方案吗?为什么使用离子不起作用?我想不明白这种行为。

提前致谢

【问题讨论】:

  • 你能展示你的尝试吗?也许你很接近......
  • 您需要将数组定义为对象吗?
  • 正确的提问方式是展示你尝试过的无效
  • 对不起,我现在更新了答案。

标签: json angularjs ionic-framework


【解决方案1】:

将您的数据模型视为变量“选项”...

您需要在 ng-options 上使用 (key, value):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多