2017-04-22 95 views
0

我有一個由AngularJs通過JSON對象生成的表單,該對象返回一個選擇名稱和值的數組。代碼如下,並且運行良好:AngularJS通過表達式有條件地顯示內容

<div ng-cloak ng-repeat="site in form.json" class="form-group"> 
    <label class="control-label col-md-3">{{site.ItemName}}</label> 
    <div class="col-md-6"> 
    <select class="form-control select2"> 
     <option value="show-all">All</option> 
     <option ng-repeat="item in site['SelectList' + ($index + 1)]" value="{{item.SelectValue}}">{{item.SelectText}}</option> 
    </select> 
    </div> 
</div> 

所以它目前在通過PHP後端產生1個JSON對象生成兩個選擇下拉菜單。我現在需要它在表單上生成一些複選框,以便將這些複選框添加到由PHP生成的數組中。這些JSON將保持與當前選擇(選擇名稱,選擇值)相同的格式。附加數據將被附加到當前JSON對象的末尾,所以我只需要使用class =「col-md-6」> div來創建條件。我有一個值返回到表達式{{site.ItemName}}這將是完美的過濾,但我不明白我可以如何使用ng-show這個工作。理想情況下,我需要在當前div上這樣的東西:

<div ng-show="{{site.ItemName}} !== 'checkboxes'" class="col-md-6"> 
    <select class="form-control select2"> 
     <option value="show-all">All</option> 
     <option ng-repeat="item in site['SelectList' + ($index + 1)]" value="{{item.SelectValue}}">{{item.SelectText}}</option> 
    </select> 
    </div> 

然後在新的代碼相反的複選框。我已經嘗試了以上,但它不工作。考慮一下,我可能會需要另外一個有關實際ng-repeat的條件,所以當我們循環檢查複選框時,它不會在選擇下拉HTML中進行操作。

這是否有意義?或者這是一個瘋狂的方法?我應該創建一個單獨的app.controller並調用api來選擇複選框嗎?我試圖將所有的表單HTML都放回到單個JSON對象中以避免多次調用。

謝謝,

中午。

回答

0

ng-show期望的表達,而不是內插

嘗試使用將角度範圍上下文中評估

+0

由於

ng-show="site.ItemName != 'checkboxes'" 

變量。完美的作品。 –