2016-09-09 124 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表達式,因此不需要大括號。 –