gpt4 book ai didi

java - 在 JSF 页面设置要访问 "local"的 "globally"变量

转载 作者:行者123 更新时间:2023-12-01 15:13:31 25 4
gpt4 key购买 nike

我有以下情况:

有一个 JSF 页面:

<h:form id="form">

<!-- MENU SHOULD GOES HERE -->
<p:commandButton action="#{bean.sched.addWeek}" value="Add week" update="weeksTab" />

<p:tabView id="weeksTab" value="#{bean.sched.weekList}" var="week" >

<p:tab title="#{week.name}" >

<!-- THIS BUTTONS SHOULD BE IN MENU -->
<p:commandButton action="#{week.addDay}" value="Add day" update="weeksTab" />
<p:commandButton action="#{bean.sched.removeWeek(week)}" value="Remove week" update="weeksTab" />

<p:tabView id="daysTab" value="#{week.dayList}" var="day" >
<p:tab title="#{day.name}">

<!-- THIS BUTTON SHOULD BE IN MENU -->
<p:commandButton action="#{week.removeDay(day)}" value="Remove day" update="weeksTab" />

<!-- PROCESSING DAY : ADDING MEETINGS, ROUTINES ETC.
THOSE FUNCTIONS SHOULD BE ALSO AVAILABLE
IN MENU -->

</p:tab>
</p:tabView>
</p:tab>
</p:tabView>

我想将所有操作控件(例如添加/删除/编辑周、天和用户的日常 Activity 按钮)放置到页面顶部的菜单中。问题是如何传递到 p:tabView 内部管理的外部标签变量?无论如何有可能吗?我在 h:form: 中添加了这样的内容:

<p:toolbar>
<p:toolbarGroup align="left">
<p:commandButton
onclick="jQuery('#hiddenAddWeekButton').click();return false;"
value="Add week" icon="ui-icon-circle-plus" ajax="false" />

</p:toolbarGroup>
</p:toolbar>

<p:commandButton id="hiddenAddWeekButton"
action="#{bean.sched.addWeek}" value="add week"
update="weeksTab" style="display:none" />

但是还是不行..

最佳答案

尝试这样的事情

隐藏你的内部按钮

<p:commandButton id="myHiddenButton" action="#{week.removeDay(day)}" value="Remove day" update="weeksTab" style="display:none"/>

而不是在选项卡上方放置新按钮

<p:commandButton value="Remove day" onclick="jQuery('#weeksTab\\:myHiddenButton').click();return false;" />

要确定为隐藏按钮生成的正确ID,只需在浏览器中查看源代码,我认为它应该类似于weeksTab:myHiddenButton(使用\:)来转义:

<小时/>

更新

由于它位于选项卡中,因此您应该尝试使用带有选择器的结尾,如下所示

<p:commandButton value="Remove day" onclick="myJsFunctionThatSitsInMyJsFile();return false;" />

其中myJsFunctionThatSitsInMyJsFile

如下

function myJsFunctionThatSitsInMyJsFile(){
jQuery('input[id$="hiddenAddDayButton"]:visible').click(); //added visible selector , so the only button that being visible , should be clicked
}

关于java - 在 JSF 页面设置要访问 "local"的 "globally"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com