2013-10-30 90 views
2

这可能是一个CSS问题,但我自己无法理解原因。SelectOneMenu标签是“覆盖”

我经常发现一些selectonemenus的行为就像一个在图片:

enter image description here

下拉字段被 “覆盖”。 然后我点击它,选择一个值,然后......开始正确显示。

我正在使用库比蒂诺主题。

如果我分析生成的来源,这是我发现:

<div class="ui-helper-hidden-accessible"> 
    <input id="carrello:formCarrello:j_idt165_focus" name="carrello:formCarrello:j_idt165_focus" type="text"> 
</div> 

<label id="carrello:formCarrello:j_idt165_label" class="ui-selectonemenu-label ui-inputfield ui-corner-all" style="width: 0px;"> 
    Seleziona... 
</label> 

标签上有“宽度:0像素;”。如果我删除它,菜单显示正确。

好,但...我没有添加该属性。 Primefaces为什么要添加它?

编辑

第一菜单的来源:

<p:selectOneMenu value="#{posController.rigaVendita.codiceIva}" effect="fade" converter="codiceIvaConverter"> 
           <f:selectItem itemLabel="Seleziona..." itemValue="" /> 
           <f:selectItems value="#{posController.codiciIva}" var="ci" itemLabel="#{ci.codice}" itemValue="#{ci}" /> 
          </p:selectOneMenu> 

在所有的浏览器同样的问题。 这不是一个css兼容性问题,故障是“0px”宽度属性!

+0

这是否发生任何特定的浏览器?Primefaces在 SRy

回答

1

好吧,我终于找到了什么导致了错误!

我和selectOneMenu标签有同样的问题。 这是因为我使用了默认的向前页面导航,这就是为什么在一些页面组件工作,而不是在其他页面。
实际上,当url不匹配页面时,它不工作。

解决方案:CONCAT视图id “?面临重定向=真正的” 在commandLink或的commandButton

的动作特性,这将可以帮助:

发生同样的问题ED与PrimeFaces谷歌地图组件<p:gmap>,你也需要使用重定向,如果你想使用它

(还有一个问题:如果你正在使用的模板,你必须把 <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>在模板中。XHTML,见(primefaces GMmap inside a dialog not rendering))

编辑

而且很显然,这是确定: PrimeFaces没有一个Ajax请求中支持了基于导航,你需要做的,而不是或设置AJAX重定向到虚假的。 http://primefaces.org/faq.html

+0

这很奇怪,但工程。 – Ray

0

我刚刚遇到同样的问题。我想这是一个primefaces的bug。我的解决方案是覆盖该元素的零宽度 - 只需将此代码添加到您的CSS文件中:

.ui-selectonemenu-label{ 
    width: 100%!important; 
} 
0

我有同样的问题和解决方案包括在写selectOneMenu用于在这种情况下,CSS,对应于两个选择,即如下:

.ui-selectonemenu .ui-selectonemenu-trigger{ 
 
    width: auto !important; 
 
    padding-top: 0.4em; 
 
} 
 

 
.ui-selectonemenu{ 
 
    padding-right: 0px !important; 
 
}

See the image before correction

See the image after correction