【发布时间】:2016-04-21 08:18:21
【问题描述】:
如何更新已禁用的 tabView 中的选项卡。
我尝试只更新类名(.ui-tabs-nav) 的标题,但没有任何反应。我还试图在 tabView 和 Tab 之间添加一个 div 以通过 id 更新它或仅使用一种样式,但 JSF 不会呈现这个。
【问题讨论】:
标签: javascript primefaces
如何更新已禁用的 tabView 中的选项卡。
我尝试只更新类名(.ui-tabs-nav) 的标题,但没有任何反应。我还试图在 tabView 和 Tab 之间添加一个 div 以通过 id 更新它或仅使用一种样式,但 JSF 不会呈现这个。
【问题讨论】:
标签: javascript primefaces
我找到了一个直接使用 JavaScript 的解决方案,方法是更改类值。
当 JSF 生成 HTML 代码时,它会用值填充这些选项卡中的每个类标记。如果我们观察一个启用的选项卡,我们会注意到该类包含ui-state-default ui-corner-top,而禁用的类包含ui-state-default ui-corner-top ui-state-disabled
为了选择所需的标签,我使用了这个表达式
$('ul.ui-tabs-nav li:eq(n)')
并改变类值
1- $('ul.ui-tabs-nav li:eq(n)').attr('class', 'ui-state-default ui-corner-top ui-state-disabled');
2- $('ul.ui-tabs-nav li:eq(n)').attr('class', 'ui-state-default ui-corner-top');
另一种选择是使用:
widgetVar 在primefaces tabView 中使用PF('tabView').enable(n) 和PF('tabView').disable(n) 标记
n是从0开始的标签Rank
【讨论】: