There is one problem occurring when I am trying to dynamically generate the label from the backing bean. The problem is that the dropdown that appears vanishes for each selection but the label is updated properly. Is there a workaround for this?
<p:selectCheckboxMenu value="#{formBean.selectedMovies}" label="#{formBean.moviesLabel}" id="Movies" >
<f:selectItems value="#{formBean.movies}" ></f:selectItems>
<p:ajax update="Movies" listener="#{formBean.populateLabel}"></p:ajax>
</p:selectCheckboxMenu>
and
//Backing bean
public void populateLabel() {
/* Populating the label with the selected options */
moviesLabel = new String("");
if (selectedMovies.size() == 0) {
moviesLabel = "Select";
} else {
for (int i = 0; i < selectedMovies.size(); i++) {
if (moviesLabel.length() == 0) {
moviesLabel = selectedMovies.get(i);
} else {
moviesLabel = moviesLabel + "," + selectedMovies.get(i);
}
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…