我创建了表单,我希望在新表创建时在表上显示以前的现有项目.我希望在填写表格时显示匹配的项目.但是当我尝试在没有完成表单的情况下过滤列表时,会出现验证消息,并且表格不会更新.
不知道是否可能,但我想做的事情是这样的:
<h:form id="form">
<h:outputText value="Name: "/>
<p:inputText value="#{itemsBean.name}" id="name" required="true"/>
<br/>
<h:outputText value="Description: "/>
<p:inputText value="#{itemsBean.description}" id="description" required="true"/>
<p:commandButton value="Save" update="form" actionListener="#{itemsBean.save}"/> //validate and save
<p:commandButton value="Filter" update="form" actionListener="#{itemsBean.updateItemsList}"/> //don't validate, and update the table.
<p:dataTable id="list" value="#{itemsBean.itemsList}" var="item">
<p:column>
<h:outputText value="#{item.name}"/>
</p:column>
<p:column>
<h:outputText value="#{item.description}"/>
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我是JSF的新手.
我有类似的东西:
<p:inputText...>
<p:ajax event="keyup" update="somefield" listener="#{someBean.doSomething}"/>
</p:inputText>
Run Code Online (Sandbox Code Playgroud)
但我不想在每个按键上都做一个Ajax请求,我想在用户停止写入后半秒钟做请求.
我在另一个问题中看到jQuery解决了这个问题: 如何延迟.keyup()处理程序,直到用户停止输入?
我想知道是否可以在primefaces上执行此操作或如何从jQuery问题调整解决方案.
我正在使用PrimeFaces 3.0.M4.
先感谢您.