我需要您的幫助來顯示和隱藏inputText
根據selectManyCheckbox
在xhtml中選定的項目。該代碼是:Primefaces如何顯示/隱藏基於選擇的selectManyCheckbox項目的inputText
<p:selectManyCheckbox id="basic" value="#{user1.selectedConsoles}">
<f:selectItem itemLabel="Xbox One SS" itemValue="XboxOne" />
<f:selectItem itemLabel="PS4 SS" itemValue="PS4" />
<f:selectItem itemLabel="Wii U SS" itemValue="WiiU" />
<p:ajax listener="#{user1.renderInput}" update="name"/>
</p:selectManyCheckbox>
<h:panelGroup id="name">
<p:inputText value="" rendered="#{user1.renderText}"/>
</h:panelGroup>
和bean代碼:
private String[] selectedConsoles; //Setter & Getter
private List<String> list = new ArrayList<String>(); //Setter & Getter
private boolean renderText = false; //Setter & Getter
public void renderInput() {
list= Arrays.asList(selectedConsoles);
if (list.contains("PS4")) {
renderText = true;
}
else if (!list.contains("PS4")) {
renderText = false;
}
}
如果selectManyCheckbox
包含( 「PS4」),然後顯示inputText的,否則掩蓋它。現在在上述情況下,它顯示我是否選擇了PS4
,但是當我解開PS4
時,inputText將保留在表單中並且不會隱藏。
@Kukeltje第一部分是類似的,但第二部分是不同的 – 99maas
是的,但每個問題應該只有一個問題。所以它仍然是重複的。爲第二部分提出一個新問題。 – Kukeltje