2017-04-19 1 views
0

私はリッチで問題があります:select RichFaces 4.0.0.Finalコンポーネント。豊富なオプションリストをスクロールするには、Javaスクリプトまたはjqueryを使用しますか?

リストをスクロールして選択した後、リストを再度開くと、リストは自動的に選択した項目にスクロールしません。私は手動でスクロールする必要があります。

助けてください! select.jsの機能を__onBtnMouseDownオーバーライド

+0

使用していたRichFacesのバージョンは何?私が知っている限り、これはRichFaces 4.5のいくつかのマイクロリリースで実装されました。 – Makhiel

+0

RichFaces 4.0.0.Final –

+0

[rich:リスト内の現在選択されている項目へのドロップダウンで選択](http://stackoverflow.com/questions/17718796/richselect-on-drop-down-jump-現在選択されているアイテムのリスト) – Makhiel

答えて

0

は、問題を修正しました:

__onBtnMouseDown: function(e) { 
if(!this.popupList.isVisible()) { 
    var selectedSymbol = this.__getValue(); 
    var selectedSymbolIndex; 
    var offset = 0; 

    // loop over list to get selected symbol index 
    for (var i = 0; i < this.cache.originalValues.length; i++) { 
     if(this.cache.originalValues[i] == selectedSymbol){ 
      selectedSymbolIndex = i; 
     } 
    } 

    if(this.items.length > 0 && this.enableManualInput) { 
     $(document.getElementById(this.id+"Items")).empty().append(this.items); 
    } 

    this.__showPopup(); 

    if(selectedSymbolIndex >= 0){ 
     offset = selectedSymbolIndex * this.items.get(selectedSymbolIndex).offsetHeight; 
     this.popupList.__selectByIndex(selectedSymbolIndex); 
     var parentContainer = $(document.getElementById(this.id + "Items")).parent()[0]; 
     parentContainer.scrollTop = offset; 
    } 

} else { 
    this.__hidePopup(); 
} 
this.isMouseDown = true; 
} 
関連する問題