【问题标题】:Dynamic table headers in htmlhtml中的动态表头
【发布时间】:2013-04-11 13:59:39
【问题描述】:

我需要根据条件显示标签内的标题。

<th class="header"><h:outputText value="#{supplierScorecard.treeItemList[1].m1.header}" /> </th>

这是我当前的代码。要求就像我需要仅在某种 JavaScript 验证存在该值时才显示特定的标头。

注意:这里我没有使用 JSF 数据表,因为表头是单独打印的。

【问题讨论】:

  • 你想隐藏标题的内容或完整的标签&lt;th&gt;
  • 更加具体并坚持由您的代码示例支持的用例。从广义上讲,有很多方法可以做你想做的事。
  • @dShringi :是的,如果条件不满足,我想隐藏整个
  • 尝试将&lt;th&gt; 包裹在&lt;h:panelGroup&gt; 中,并使用rendered 属性隐藏或呈现块。

标签: html jsf jsf-2 jstl


【解决方案1】:

我已将标签放入具有渲染条件的 a4j:outputpanel 中并且工作正常。

<a4j:outputPanel rendered="#{supplierScorecard.treeItemList[1].m4.header ne null}">
                                                <th class="header  treeTableOthers fixed"><h:outputText value="#{supplierScorecard.treeItemList[1].m4.header}" /> </th>
                                                </a4j:outputPanel>

感谢更新#erencan

【讨论】:

  • 在以后的问题中,请明确提及您正在使用 RichFaces。当标准 JSF 没有时,它可能有一个解决方案。
【解决方案2】:

将你的标签放在 outputPanel 中,然后给出条件来渲染 outputPanel 的属性。

<h:panelGrid id="panel" rendered="#{YOUR_CONDITION}" columns="1">
        <h:panelGroup>           
         <th class="header"><h:outputText value="#{supplierScorecard.treeItemList[1].m1.header}" /> </th>
      </h:panelGroup>
</h:panelGrid>

如果你想通过javascript隐藏它,用span包裹&lt;th&gt;标签并动态改变可见性。

<span id="panel">  
    <th class="header"><h:outputText value="#{supplierScorecard.treeItemList[1].m1.header}" /> </th>
</span>

document.getElementById("panel").style.display = "none";
document.getElementById("panel").style.display = "block";

【讨论】:

  • 嗨,命名空间 p 代表什么?
  • 来自 PrimeFaces。 Erencan 不知何故错误地假设您正在使用 PrimeFaces,即使您在当前问题和之前提出的问题中都声明 nowhere
  • 我对 PrimeFases 感到困惑。我已经更新了我的帖子。感谢您纠正我@BalusC。我会更加小心。
猜你喜欢
相关资源
最近更新 更多
热门标签