【发布时间】:2016-09-01 08:43:11
【问题描述】:
我有一个对话框,其中包含一个自动完成元素和几个取决于它的其他字段。我想要的是在自动完成字段为空时运行 completeMethod 。但是,此方法仅在字段中有一个或多个字符时执行。例如,假设我输入了“x”,那么如果我删除它,它应该被调用。我需要知道它是否为空,因为我会根据它更改其他字段。 我已经尝试过 minLength,但它没有任何效果
<p:autoComplete id="findCommand" value="ControllerClass.someObject
completeMethod="#{ControllerClass.completeCommand-returns objects-}/..>
<p:ajaxlistener="#{ControllerClass.onCommandChange} update="someotherfield"
event="itemSelect" /></p:autoComplete>
如果字段为空,则不会调用 completeCommand 方法。这是我尝试过的:
1-我添加了一个带有更改的 ajax 标记,并为其分配了一些其他方法来控制该字段。但它
破坏 itemSelect ajax,因为当用户键入内容时它会尝试将查询字符串分配给对象,这是错误的。
2-我尝试使用第二个答案,但是由于我无法确定字段是否为空,所以它没有用:
JSF access html element value in bean class
【问题讨论】:
-
请,请,请阅读文档。它在哪里说明“minLength”应该起作用?解决方案就在那里。
-
你说得对,我完全忘了检查它,解决方案真的很简单。不好意思,下次注意了。
标签: ajax jsf primefaces autocomplete