在PrimeFaces向导中禁用/启用“下一步”和“后退”按钮

时间:2020-03-09 14:00:35

标签: css jsf primefaces

我是JSF Primefaces的新手

我正在使用Primeface向导,在这里我需要使用Java在向导中禁用/启用“下一步” /“后​​退”按钮。我尝试使用以下代码,但失败

对于“下一个”按钮禁用:

PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('disabled', 'true');");

PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('disabled', 'disabled');");

启用“下一步”按钮:

PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('disabled', 'false');");

PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('disabled', 'none');");

但是当我尝试使用可见性时,

对于“下一步”按钮隐藏: PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('visibility', 'hidden');");

对于下一个按钮显示: PrimeFaces.current().executeScript(" PF('" + clientId + "').nextNav.css('visibility', 'visible');");

问题:如何使用Java代码段在向导中启用/禁用“下一步” /“后​​退”按钮? (需要禁用并且不隐藏按钮)

1 个答案:

答案 0 :(得分:4)

禁用按钮不是CSS的事情。它是html按钮元素的属性,例如`实际值并不重要,仅具有此名称的属性会使其禁用。因此,您需要通过

进行设置
PF('" + clientId + "').nextNav.attr('disabled', 'disabled')

但这只会从技术上禁用它。因此,您还需要添加适当的外观:

PF('" + clientId + "').nextNav.toggleClass('ui-state-default')
PF('" + clientId + "').nextNav.toggleClass('ui-state-disabled')

我会亲自将所有这些内容添加到javascript函数(function disableNext(...) {...})中,并通过传递clientId从Java中添加此函数(您甚至可以使其更通用并创建toggleNext

相关问题