0

私のJSF2Primefaceアプリケーションには、次のファイルアップロードコンポーネントがあります。

<p:fileUpload id="related_image" fileUploadListener="#{fileUploadController.handleFileUpload}"  
    mode="advance"  
    auto="false" 
    showButtons="false"
    sizeLimit="100000"
    fileLimit ="1"
    allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
    style="width: 310px"/>

このコンポーネントからプログレスバーを削除したいので、実行しています

.progress {
display: none;

}

これは機能しますが、このファイルアップロードコンポーネントに添付されているプログレスバーのみを削除し、アプリケーション全体からは削除したくないので、試してみました

#related_image .progress{
display:none;

}

しかし、これはうまくいきません、手がかりの人はいますか?

4

3 に答える 3

2

コンポーネントの先頭に id<p:fileUpload>を付けることができます。デプロイ後に生成された HTML 出力を表示し、コンポーネントの実際の ID を確認します。 一部(または他のラッピングコンポーネントなど)にあります。Primefaces は、この 内のコンポーネントに id を自動的に追加します。したがって、実際の id はおそらく次のようになり、それが#fileUpIDを見つけることができない理由です。<p:fileUpload>form<p:panel>formsform<p:fileUpload>id="formID:fileUpID"

prependId="false":属性ごとに ID を先頭に追加することを無効にすることができます。

注 2 : CSS でスタイル設定できるを指定することもできますstyleClass<p:fileUpload>

于 2012-09-30T11:12:28.520 に答える
0

一般に ( CSS では、CSS セレクターの要素 ID でコロンを処理してコロンをエスケープする必要がありますが、jquery では を使用する必要があります)\3a \\:

#some_prefix_id\3a your_file_upload_component_id .someClass{
    display:none;
}

some_prefix_id はフォーム ID または名前付けコンテナー ID の場合があります。

ただし、INMO のより良いアプローチは、id をフォームに割り当て、このセレクターを css で使用することです。

#your_form_id .someClass{
    display:none;
}
于 2012-10-02T06:41:54.213 に答える
0

まず、余分なスペースがあります

\#related_image .progress{

セレクターは

#related_image.progress{

第二に、fileUploadコンポーネントに実際に id のプレフィックスがある場合 (Fallup が示唆するように)、css セレクターで id からコロンをエスケープする必要があります

于 2012-09-30T19:22:48.520 に答える