0

在我的 JSF 2 Primeface 应用程序中,我有以下文件上传组件。

<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

您的<p:fileUpload>组件可以预先添加 id。查看部署后生成的 HTML 输出并检查组件的实际 id。 <p:fileUpload>在某些form(或其他包装组件中,例如<p:panel>)。Primefaces 会自动将formsid 添加到 this 中的组件form。所以实际的 id<p:fileUpload>可能看起来像id="formID:fileUpID",这就是它找不到#fileUpID的原因。

注意prependId="false":您可以按属性禁用前置 id 。

注意 2:您也可以尝试为 指定styleClass<p:fileUpload>您可以在 CSS 中设置样式。

于 2012-09-30T11:12:28.520 回答
0

首先,你有一个额外的空间

\#related_image .progress{

选择器应该是

#related_image.progress{

其次,如果fileUpload组件确实有前缀 id(正如 Fallup 建议的那样),您需要从 css 选择器中的 id 中转义冒号 - 请参阅例如在 CSS 选择器中处理元素 ID 中的冒号

于 2012-09-30T19:22:48.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 回答