我决定使用向导组件。 link on this component
我有一个条件,我应该使用按钮而不是“跳到最后”复选框。如果我按下这个按钮就可以了,但是当我进入penult选项卡时我想生成确认选项卡的内容,
public void generatePreview() {
for (CompetitionTypeBean competitionType : competitionTypeList) {
if (competitionType.getId().equals(competitionTypeId)) {
tournamentBean.setCompetitionTypeBean(competitionType);
}
}
if (teamList != null && !teamList.isEmpty()) {
List<TeamBean> teams = new ArrayList<TeamBean>();
for (TeamBean team : teamList) {
for (Long teamId : teamListSelected)
if (team.getId().equals(teamId)) {
teams.add(team);
break;
}
}
tournamentBean.setTeams(teams);
}
}
这意味着我应该设置 skip in true
为此我决定编写 js 函数 will work on onnext event of wizard
<script type="text/javascript">
function setHiddenValue(formId, componentId, new_value) {
var tabId = 'competitionId';
if (tabId != 'predLast') {
document.getElementsByName('wiz').next();
} else {
var fullComponentId = formId + ":" + componentId;
document.getElementById(fullComponentId).value = new_value;
}
}
</script>
在那里我发现了新问题
首先我不知道,因为我可以获得当前的选项卡 ID。其次,我不知道如何使用 help js 为向导创建下一个事件 document.getElementsByName('wiz').next();
。我尝试查看生成的 html 代码。每个选项卡都是 <li>
当以 css 样式选择此选项卡时,会添加“ui-state-hightlight”
也许我尝试开发循环。但我找不到其他解决方案。
最佳答案
要获取 javascript 中当前步骤的索引,请使用
getStepIndex()
功能。要获取支持 bean 中当前步骤的名称,您需要获取对 View 中向导的引用,并调用getStep()
(返回下一个选项卡的id
属性)或getStepToProcess()
(返回实际的下一个Tab
对象,从中您可以获取当前选项卡的名称)。<p:wizard/>
有onnext
和onback
您可以 Hook 以处理 javascript 的事件回调(或使用<p:remoteCommand/>
的支持 bean 代码)
关于java - Primefaces 处理程序到 penult 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601179/