使用下拉列表

时间:2016-09-27 19:20:40

标签: javascript angularjs

我得到了以下对象:

$scope.cars =  {
    'bmw' : {
        'm2' : {
            '360': {
              'result': 'bmw-m2-360'
          },
          '380': {
              'result': 'bmw-m2-380'
          },
        },
        'm3' : {
          '560': {
              'result': 'bmw-m3-360'
          },
            '700': {
              'result': 'bmw-m3-380'
            },
        }

      },
    'Audi' : {
        'm2' : {
            '360': {
              'result': 'audi-m2-360'
          },
          '380': {
              'result': 'audi-m2-380'
          },
        },
        'm3' : {
          '360': {
              'result': 'audi-m3-360'
          },
            '380': {
               'result': 'audi-m3-380'
            },
        }

      }
    }

它是一个包含其他对象的对象,我希望为每个级别使用下拉列表,以便最终获得结果(这是所有可能性中的'最终'子项)。

因此,第一个下拉列表包含2个项目:bmwAudi

如果我选择bmw,则下一个下拉列表将包含:m2m3

此方案中的最终选择是在360380之间。

考虑到孩子的数量总是2(结果为3) 我认为我应该能够使用循环来查看所选值是否有任何子项以及该子项是否有兄弟姐妹。在这种情况下,thay应该在下一个下拉列表中结束。

在我目前的尝试中,我尝试使用不同的循环来分割对象的每个级别,但我迷失了。

如果有人能指出我正确的方向,我已经做了一个小提琴并且会很感激:

http://jsfiddle.net/bald1/2bdwpa96/4/

由于

1 个答案:

答案 0 :(得分:1)

您可以将对象结构更改为这样吗?

gulp
module.js:328
    throw err;
    ^

Error: Cannot find module 'gulp-if'
    at Function.Module._resolveFilename (module.js:326:15)
    at Function.Module._load (module.js:277:25)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/var/www/mysite.com/public_html/Gulpfile.js:2:14)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)

如果是这样的话:http://jsfiddle.net/curial/qyfr9do4/1/