我是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代码段在向导中启用/禁用“下一步” /“后退”按钮? (需要禁用并且不隐藏按钮)
答案 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
)