2013-10-30 134 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