2017-10-20 80 views
0

我正在使用ui-select在angularjs應用程序中重複表中的每一行(ng-repeat)。這是我的ui-select的代碼。一旦選擇了一個項目,UI選擇下拉列表打開在其他字段後面

<ui-select name="{{'selProperty' + $index}}" ng-model="thing.property" 
theme="bootstrap" ng-required="true"> 
    <ui-select-match placeholder="PLACEHOLDER TEXT"> 
     {{$select.selected.displayName}} 
    </ui-select-match> 
    <ui-select-choices repeat="property in data.properties | filter: $select.search"> 
     {{property.displayName}} 
    </ui-select-choices> 
</ui-select> 

我有我的$ scope.data對象上的事情的清單,以及含表使用ng-repeat="thing in data.things"。表中的每一行都是用戶填寫的字段,用於設置事物的屬性。下拉菜單允許用戶指定事物的對象屬性。

一切工作正常第一次使用。我得到屬性列表,我可以輸入部分搜索來過濾列表。我選擇一個,檢查一下,看看它的屬性是否設置正確。問題是,當我在選擇一個值後重新打開下拉列表時,整個列表出現在表的其他行上的其他UI選擇框後面。我在一個不重複的頁面上試了一遍,它也出現在<input type="text"></input>框中。

我試着調整Z指數爲荒謬的數字沒有運氣。在選擇一個值並進行比較之前和之後,我複製了源HTML,但沒有任何區別。我真的不明白爲什麼我的列表顯示在頁面上的其他輸入元素後面。

+1

你能提供一個小片段來說明這個問題嗎?提供的HTML不是很有幫助,謝謝! –

+0

我試過做一個調度器,但我無法讓它工作。如果我今天下午有時間,我會再試一次。抱歉。 – jvance

+0

@jvance,下面的解決方案適合您嗎?如果是,請標記爲已接受。 –

回答

0

請檢查下面的問題GitHub的鏈接:

https://github.com/angular-ui/ui-select/issues/308

的解決方案是增加以下CSS,看看它是否適合你。

.ui-select-choices { 
    position: fixed; 
    top: auto; 
    left: auto; 
    width: inherit; 
    } 
+0

謝謝@Vijay Menon,但是這個解決方案對我來說不起作用,但問題與我的不一樣。上面的問題涉及下拉列表被切斷時,它是在另一個div與某些溢出設置。我的下拉菜單首次顯示用戶選擇的內容;但是,如果他們隨後要更改其選擇,則會在其上方或下方顯示其他輸入元素後面的下拉菜單。 – jvance

+0

然後我們需要看到一些代碼來進一步幫助@jvance。請創建一個小提琴/ plunker。 –

相關問題