我使用primefaces自動完成在我的應用提出的userIds到User.Once用戶呈現父面板組分量輸入三個字符到3210文本框我UserIds
名單將被建議給用戶自動完成。只要用戶從列表中選擇了userId,我就會按照以下格式John Doe(jd123)
更新輸出文本中的用戶名和姓,並在此名稱旁邊顯示一個Delete
按鈕。由於在代碼首先Ajax請求的意見所示工作完美fine.But當我試圖刪除,我使用<h:outputText/>
打印我收到一個錯誤是未能與<p:ajax>
javax.faces.FacesException名稱:找不到標識爲 的「組件」「j_idt34:0:imgid」引用的「項目」。
我的代碼:
<h:outputLabel value="Select user" for="acMinLength" />
<p:autoComplete id="acMinLength"
minQueryLength="3"
value="#{autoCompleteBean.txt2}"
completeMethod="#{autoCompleteBean.complete}">
<p:ajax event="itemSelect"
listener="#{autoCompleteBean.handleSelect}"
update="items"/> // First Ajax request perfectly working fine
</p:autoComplete>
<h:outputLabel value="selectedUsers" for="acMinLength" />
<h:panelGroup id="items">
<ui:repeat value="#{autoCompleteBean.printId}" var="item">
<h:outputText value="#{item}"/>
<h:graphicImage name="delete.png" library="images" id="imgid">
<p:ajax event="click"
listener="#{autoCompleteBean.updateList}"
update="items"/> // This is where i am getting exception
</ui:repeat>
<h:panelGroup>
我知道我可以更新與孩子Ajax請求父組件。但我不知道我做錯了什麼。
最終,上述表達式呈現爲':items'與我已經嘗試過,但沒有luck.Yes我可以更新的形式,但它攪亂了我的設計。正如你上面看到我的代碼,它能夠找到我從'該組件外部'更新的時間,但不能通過它的子組件 – SRy