2016-09-09 26 views
1

我试图动态生成基于阵列上选择元素中选择选项:设置时选择的元素动态生成的NG-重复

[ 
    ["Air travel program","Yes",[["--"],["Yes"],["No"]]], 
    ["Car rental program","--",[["--"],["Yes"],["No"]]], 
    ["Data management","--",[["--"],["Yes"],["No"]]], 
    ["Group travel","--",[["--"],["Yes"],["No"]]], 
    ["Hotel Program","--",[["--"],["Yes"],["No"]]], 
    ["Payment systems","--",[["--"],["Yes"],["No"]]], 
    ["Transient travel","--",[["--"],["Yes"],["No"]]], 
    ["Travel policy","No",[["--"],["Yes"],["No"]]] 
] 

我的HTML:

<div class="profileRow" ng-repeat="btpPDropdown in BTPProfileSelectList"> 
        <label class="profileLabel"> 
              {{btpPDropdown[0]}} 
        </label> 
        <select name="{{btpPDropdown[0]}}" > 
              <option ng-repeat="btpOption in btpPDropdown[2]">{{btpOption[0]}}</option> 
        </select> 

这按预期生成选择元素和选项,但我无法弄清楚如何设置默认选择的选项,该选项应该是{{btpPDropdown [1]}},或者在第一次选择时选择是。 据我所知,select会将选中的选项设置为一个匹配的选项字符串。我尝试设置ng-model =“{{btpPDropdown [1]}}”但这是无效的,因为它不会是唯一的。 任何帮助得到这个工作,将不胜感激。

+0

你能改写这个问题?你是说这些选项没有显示出来,或者你在引用ng模型时遇到了问题? – defaultcheckbox

+0

选项正在显示。我只是不知道如何设置默认选择的选项。 –

回答

0

您所遇到的问题是您没有将选择与模型绑定。在select上提供模型允许你将它绑定到数组。这样,当更改下拉菜单时,它将反映在实际的数组中。

修改下面的代码:

<div class="profileRow" ng-repeat="btpPDropdown in BTPProfileSelectList"> 
    <label class="profileLabel"> 
     {{btpPDropdown[0]}} 
    </label> 
    <select name="{{btpPDropdown[0]}}" ng-model="btpPDropdown[1]"> 
     <option ng-repeat="btpOption in btpPDropdown[2]" >{{btpOption[0]}}</option> 
    </select> 
</div> 
+0

太棒了!当我尝试提供模型时,我发现自己做错了。我正在使用{{btpPDropdown [1]}} –

+0

是的,我以前肯定做过。所有提供Angular'ng-'指令的人都将引号之间的所有内容视为Angular表达式,因此不需要大括号。 –