2017-12-18 126 views
2

我有這樣的代碼對角上的動態選項刪除空白選項對象

<select ng-model='item.data.choice' > 
    <option ng-if='item.data.simple_allow_blank == false' ng-show='choice.name' ng-repeat='choice in item.data.simple_choices' value="{{choice.name}}" ng-disabled="$parent.controllerAction == 'show'">{{choice.name}}</option> 
</select> 

它顯示了系統管理員在下拉框中輸入的3種選擇。它顯示它沒有空白的選擇。

問題是如果我想要放一個默認值(例如,choice[0]),它會添加一個空白值。

另外,從ng-repeatthis question轉換爲ng-options時。

我有4個選擇1,2,3和空白我想刪除空白我跟隨在我發佈的鏈接上發現的指南/答案我的問題,我的部分差異是,我有一個動態列表並且當該列表是新創建的。使用ng-option時,它永遠不會包含空白,但它解決了我的問題,從動態列表中獲得初始默認值,如果我使用ng-repeat,我沒有初始值,但刪除選項的空白。我想刪除空白選項,同時從動態列表中獲取初始值。

我可以設置默認值,但不能刪除空白選項。

任何人都可以幫忙嗎?謝謝。

+0

https://stackoverflow.com/questions/20738953/angular-js-remove-blank-option-from-select-option – Edison

+0

不是一個即時通訊:( – shimukawa

+0

你的意思是你想要ex.4選項包括空白選項一旦你選擇了選項,那麼它應該刪除,對嗎? – Nikita

回答

0
You have to filter data in js file and create a new array that you will render it in html.let say you are getting data in variable **item.data.simple_choices**(as you have written it in ng-repeat)then your function would be. 

var data = item.data.simple_choices; 
var filteredArray = []; 
data.filter(function(item){ 
    if(item.name!=''){ 
filteredArray.push(item) 
} 
}) 
+0

不,這是不是這種情況,我有一個o在其中由admin動態創建的選項。 – shimukawa

0

經過幾小時的水蛭網絡和大量的反覆試驗,我終於得到了正確的答案。

<select ng-model='model'> 
     <!-- correct binding --> 
      <option ng-show='choice.name' ng-repeat='choice in object' value="{{choice.name}}" ng-selected='model = object[0].name'>{{choice.name}}</option> 
     </select> 

代碼很簡單,但這種格式很有用,因爲對象是一個具有列表值的對象。正如你所看到的,我將它分配給模型,因爲模型是在視圖中使用的變量。 [0]是列表的索引號。您可以使用值或名稱,具體取決於對象上存在的參數。