自动填充列表未在selectInputText下正确对齐

时间:2012-02-01 11:36:49

标签: jsf icefaces-1.8

我的jsf selectInputText页面中有<ice:panelPopup,点击按钮后会调用该页面。

我面临的问题是selectInputText有自动完成列表,列表显示在我的jsf页面的右下角。如何在selectInputText下方显示自动完成列表。下面是我的selectInputText的屏幕截图 您可以看到我的列表出现在右下角,但我已经将列表值显示为灰色。

此致

http://s17.postimage.org/j86xpgnxr/screenshot.png

我的jspx中的代码

<h:panelGrid id="popupBody2" width="100%" cellpadding="0" cellspacing="0" column="1">
                <ice:form id="frm">                                        
                 <tr>
<td>
                        <h:outputText value="Select City" />                        
                          <ice:selectInputText rows="10" width="300"
                        listVar="city"
                        valueChangeListener="#{bean.method}"
                        listValue="#{bean.list}">
                         <f:facet name="selectInputText">
                   <ice:panelGrid columns="3" columnClasses="cityCol">
                         <ice:outputText value="#city.state}"/>                           
                   </ice:panelGrid>
  </f:facet>
          </ice:selectInputText>           
                    <ice:panelGrid columns="2">                        
                        <ice:outputText id="country" 
                                      visible="false"  value="#{bean.currentCity.country}"/>                       
                    </ice:panelGrid>

更新1

<f:view xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:ice="http://www.icesoft.com/icefaces/component"
        xmlns:t="http://myfaces.apache.org/tomahawk">
        <ice:outputDeclaration doctypeRoot="HTML"
                doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN"
                doctypeSystem="http://www.w3.org/TR/html4/loose.dtd" />              
        <html>
        <head>

        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
        <title>Employees List</title>
        <link rel='stylesheet' type='text/css' href='./xmlhttp/css/xp/xp.css' />
        </head>

更新2

a http://s7.postimage.org/46jk4tka3/autocomplete.png

2 个答案:

答案 0 :(得分:1)

因此,我无法直接评论(&lt; 50 rep),我将其作为答案发布。正如BalusC所述,1.8.2中存在一个错误,导致在IE8中的其他地方呈现建议清单。这是关于相对/绝对定位的问题。所以解决方案是覆盖iceSelInpTxtList的css位置属性。或者,您可以尝试修改封闭容器(更改位置属性)。我提供了解决方案,但目前我无法访问和搜索代码。

答案 1 :(得分:1)

这可能对您有所帮助http://jforum.icesoft.org/JForum/posts/list/16636.page

但是我发现它只适用于ie7所以我稍微改变了代码以便在ie7,8,9中工作。这是我的代码

if (Prototype.Browser.IE || navigator.userAgent.indexOf("MSIE 8") > -1) {
                                       var savedPos = element.style.position;
                                       element.style.position = "relative";
                                       update.style.left = element.offsetLeft + "px";
                                       update.style.top = (element.offsetTop + element.offsetHeight) + "px";
                                       element.style.position = savedPos;
                                   }