我正在将JSF 2.2与PrimeFaces 5.3一起使用,并且正在尝试使用p:autoComplete
我认为我正在执行某种语法错误,但找不到它
我有这页
<h:selectOneMenu id="countryDropdown" value="#{myController.selectedCountryId}">
<f:selectItems value="#{myController.countries}" var="co" itemValue="#{co.id}" itemLabel="#{msg[co.name]}"/>
</h:selectOneMenu>
<p:autoComplete
dropdown="true"
value="#{myController.selectedAutocompleteId}"
completeMethod="#{myController.callMyAutocompleteMethod}">
<f:attribute name="selectedCountryId" value="#{carCountryDropdown}" />
</p:autoComplete>
为了执行自动完成任务,我还需要“ countryDropdown”的值。
为了在自动完成方法中检索“ countryDropdown”选择项的值,我需要使用哪种语法?
在自动补全方法中,我可以使用以下代码
UIComponent.getCurrentComponent(context).getAttributes().get("selectedCountryId");
但是我总是空的
你能帮助我吗?
最佳答案
您可以使用ajax,支持更改事件:
< p:selectOneMenu ..>
< p:ajax event="change" listener="#{myController.subjectSelectionChanged}" />
<!--...-->
< /p:selectOneMenu>
触发侦听器subjectSelectionChanged,您可以在其中返回carCountryDropdown中“ countryDropdown”的值
关于jsf - p:autoComplete-通过更多参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35760414/