これはおそらくCSSの問題ですが、私には理由がわかりません。
写真のように動作するいくつかのselectonemenuをよく見つけました。
ドロップダウン フィールドは「カバー」されています。次に、それをクリックして値を選択すると、正しく表示され始めます。
クパチーノのテーマを使用しています。
生成されたソースを分析すると、次のことがわかります。
<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>
ラベルには「幅:0px;」があります。削除すると、メニューが正しく表示されます。
良いですが...私はその属性を追加しませんでした。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」幅属性に問題があります。