我有一个可滚动的 SelectOneListBox,其中包含 >50 个项目。当一个新项目被添加-保存时,它被附加为最后一行,位于当前可视区域之外。我需要列表框自动滚动到新添加的行(已选中)。
添加保存按钮和列表框是ajaxified。我正在使用 Primefaces 5.0。我怎样才能做到这一点?
JSF 页面代码:
<p:commandButton title="Save" icon="ui-icon ui-icon-disk" >
<p:ajax process="name desc @this"
update="list msg"
listener="#{bean.saveListener}"/>
</p:commandButton>
<p:selectOneListbox id="list" scrollHeight="120"
value="#{bean.selectName}">
<f:selectItems value="#{bean.data}" var="b"
itemLabel="#{b.desc}" itemValue="#{b.name}"/>
<p:ajax process="@this" update="@this name desc msg"
listener="#{bean.valueChanged}"/>
</p:selectOneListbox>