【发布时间】:2014-08-02 22:31:04
【问题描述】:
上下文
在对话框中,用户可以按下按钮来填充名为 qPdt 的现有数据表。当他单击一行时,我希望将行文本插入到某个 inputTextArea 中。
问题
发生的情况是,如果我打开对话框并单击任何行,一切正常并按预期工作。但是,如果我打开对话框并按下按钮,我的脚本将不再工作/不再被调用。我必须关闭对话框并重新打开它才能使脚本正常工作。
可能我在这里缺少一些 javascript/jsf 基础知识。任何提示都会很好:)
代码
<script>
$('#accordion\\:duoDlgForm2\\:qPdt tr').on('click', function() {
var $item = $(this).closest("tr").find("td:nth-child(1)").text().trim();
$("#accordion\\:duoDlgForm2\\:rt1Selected").append($item);
});
</script>
也尝试过(位于表单内部和外部)
<script>
$(document).ready(function() {
$('#accordion\\:duoDlgForm2\\:qPdt').on('click','tr',function() {
var $item = $(this).closest("tr").find("td:nth-child(1)").text().trim();
$("#accordion\\:duoDlgForm2\\:rt1Selected").append($item);
});
});
</script>
数据表:
<p:scrollPanel mode="native">
<p:dataTable id="qPdt" var="p" value="#{regelBean.queriedParams}" scrollable="false"
emptyMessage="x" rowKey="#{p}" selection="" selectionMode="single">
<p:column>#{p.name}
<f:facet name="header" style="">Parameter</f:facet>
</p:column>
</p:dataTable>
</p:scrollPanel>
打开对话框的按钮
<p:commandButton id="selectButton" value="?" update=":stmtDetailForm :newDuoDlg" oncomplete="PF('newDuoDialog').show()" actionListener="#{regelBean.selectButtonHit(tVar)}">
用于填充数据表的按钮
<p:commandButton value="<" update="qPdt regelDetail sp2" action="#{regelBean.findParams()}"/>
PF 4.0,IE9,使用包含。
【问题讨论】:
-
可能你正在更新对话框或手风琴或表单,这会导致
onclick事件被破坏......尝试将事件绑定到更大的东西上......喜欢外部形式..无论如何用对话框和按钮的完整代码更新帖子。 -
好吧,然后发布按钮...
-
按钮进行更新。但是为什么这会破坏
onclick事件呢?我该如何解决这个问题?
标签: javascript jquery jsf primefaces datatable