【发布时间】:2018-04-19 21:33:50
【问题描述】:
我有一个这样的 primefaces 代码。 选择下拉后,如果值为'M',我想渲染一个评论文本区域。
它工作正常并显示 textarea,但在选择“F”时,即使 renderComments 值为 false,它也不会隐藏 textarea。
我认为由于
HTML
<p:panelGrid>
<p:row>
<p:column style="width:15%">
<p:selectOneMenu id="gender" value="#{myBean.model.gender}">
<f:selectItem itemValue="M" itemLabel="Male" />
<f:selectItem itemValue="F" itemLabel="Female" />
<p:ajax event="change" listener="#{myBean.genderListener}" process="@this" update="commentsCol comments" />
</p:selectOneMenu>
</p:column>
<p:column id="commentsCol" style="width:50%">
<p:inputTextarea id="comments" cols="100" rows="2" value="#{myBean.model.comments}" rendered="#{myBean.renderComments}" />
</p:column>
</p:row>
</p:panelGrid>
豆子
/**
* Event for gender.
*/
public void genderListener() {
if ("M".equalsIgnoreCase(model.getGender())) {
renderComments = true;
}
else {
renderComments = false;
}
}
更新
如果我使用 update="@form" 它可以工作。然而,它更新了我没想到的整个表格。如果我只指定 id (cmetsCol cmets),不确定是什么问题
【问题讨论】:
标签: java html primefaces