用例
我有一个包含数据表和inputTextArea的对话框。当用户单击按钮时,数据表将被填充。当选择某个(单个)数据表行时,我希望将该行的内容插入inputTextArea的末尾。
问题
当使用数据表的selection属性时,我没有inputTextArea中的最新内容。场景:我输入" ABC"在我的inputTextArea中,然后单击按钮,然后使我的inputTextArea" FFF"并从数据表中选择一行(" dtText")。 inputTextArea的新内容是" ABC dtText"而不是" FFF dtText"。
我尝试了什么
我试图添加一个新的监听器,但我无法弄清楚如何正确地将其引入,以便在选择发生之前调用它。在谷歌或PF用户指南中找不到任何内容。
我希望模糊事件更新我的ruleText,但它不会发生。
inputTextArea
<p:inputTextarea value="#{mrBean.selectedElement.ruleTxt}" id="rt1New" rows="20" cols="100" autoResize="false">
<f:ajax event="blur" update="duoDlgForm2" />
</p:inputTextarea>
数据表
<p:dataTable id="qPdt" var="p" value="#{regelBean.queriedParams}" rowKey="#{p}"
selection="#{mrBean.selectedParam}" selectionMode="single">
<p:ajax event="rowSelect" update="@form"/>
<p:column ...
java
public void setSelectedParam(ParamOrDBParamModel selectedParam) {
if(selectedParam != null) {
selectedElement.setRuleTxt(selectedElement.getRuleTxt() + "\n" + selectedParam.getName().trim());
当我在setSelectedParam方法中时,如何使用最新的文本(selectedElement.getRuleTxt)?
PF 4.0
编辑:如果我尝试jquery,我需要在我的函数中插入什么
$('#qPdt tr').on('click', function() {
// I reach this point, now what? How to get the contents of a row when I know the type?
$("#rt1New").append( ?? )
});