我试图根据数组动态生成选择元素:
[
["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 =&#34; {{btpPDropdown [1]}}&#34;但这是无效的,因为它不是唯一的。 任何有助于此工作的帮助将不胜感激。
答案 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>