我使用的是一个有三个标签的手风琴面板。
每个选项卡都有必填字段和
<p:ajax event="tabChange" update=":contentForm:growl"/>
<p:ajax event="tabClose" update=":contentForm:growl"/>
默认情况下,关闭所有选项卡。当我单击打开任何选项卡时,它会对所有选项卡中的所有输入进行求值。
我如何跳过字段验证和做ajax查询期间打开/关闭标签?
(我需要一个Ajax查询来保存打开的选项卡索引到Bean:
activeIndex="#{tabBean.active选项卡}"
)
我已经解决了这个问题。我创建了saver类:
import javax.faces.event.AjaxBehaviorEvent;
import org.primefaces.component.accordionpanel.AccordionPanel;
public class ActiveIndexSaver {
private String activeTabs = "-1,0";
public String getActiveTabs() {
return activeTabs;
}
public void setActiveTabs(String activeTabs) {
this.activeTabs = activeTabs;
}
public void saveIndexes(AjaxBehaviorEvent abe){
AccordionPanel accordion = (AccordionPanel)abe.getComponent();
activeTabs = accordion.getActiveIndex();
}
}
之后我在上面写了Inject of the bean to page-bean and getter为他:
@Inject
private ActiveIndexSaver activeIndexSaver;
....
public ActiveIndexSaver getActiveIndexSaver() {
return activeIndexSaver;
}
最后,html:
<p:accordionPanel ... activeIndex="#{tabBean.activeIndexSaver.activeTabs}">
<p:ajax event="tabChange" immediate="true" listener="#{tabBean.activeIndexSaver.saveIndexes}"/>
<p:ajax event="tabClose" immediate="true" listener="#{tabBean.activeIndexSaver.saveIndexes}"/>
......
我在primeface对话框中有一个primeface手风琴面板,每次对话框(对话框是动态的="true")打开时,手风琴面板的所有面板都会折叠。 accordionPanel有一个特性,它可以有0到2个面板,直到用户单击菜单项时才知道这一点。这些面板的存在与否取决于支持bean中是否存在2个对象。 我的代码: 我试过以下方法,但都没有达到预期的效果 在打开/关闭对话框之前,在JS/Jquery中
手风琴效果其实就是通过JS改变元素的height,然后加上transition来让css动起来。 准备HTML结构 这里我们使用 dl , 因为 dt 刚好可以模拟标题, dd 模拟内容。 <div class="panel"> <dl> <dt>One Item</dt> <dd>One Item Content .</dd>
在Primefaces showcase上,左侧菜单上有一个搜索输入。菜单看起来像一个手风琴面板,每个键向上都会触发某种ajax来过滤手风琴选项卡。 他们是如何做到这一点的?我查看了他们的展示案例,但只看到DataTable的类似示例,而没有看到AccordionPanel的任何示例。
我正在使用jQuery手风琴来隐藏一些数据。 accordion标题是一个带有一些标题的表格。有一个标题,我不希望你点击它,因为手风琴事件会触发。 所以 手风琴是可折叠的,如果您单击Test2(类nofunction),手风琴事件不应触发。但是如果您单击Test或其他表头,手风琴应该会触发事件。 我可以添加这个功能吗? 更新测试http://jsfiddle.net/e3Q8d/,包括jQuery
下面是我试图实现的布局的快照。 我这里有两个问题: > 现在,页面加载时打开了所有的手风琴面板。我希望它最初处于关闭状态(如选项1)。 我没有看到任何切换功能或任何与PrimeFaces Accordian相关的东西。只有widgetvar.show()函数,但它对我没有帮助。
jQueryUI中的Accordion Widget是一个基于jQuery的可扩展和可折叠内容持有者,它被分成几个部分,可能看起来像标签。 jQueryUI提供了accordion()方法来实现这一点。 语法 (Syntax) accordion()方法可以使用两种形式 - $(selector,context).accordion(options)方法 $(selector, context).