通过单击commandLink,我在actionListener上调用一个事件,之后,我的dataGrid通过AJAX更新然后onComplete,我调用了一个javascript。它在第一次工作正常,但是当我再次单击commandLink时,它什么也没做。
这是我的代码:
<p:commandLink id="addCompBtn" value="Add Computer" actionListener="#{coltsysLab.addComputer}" update=":organizeForm:availableComputers :organizeForm:labStat" oncomplete="getPos();"/>
我的Javascript只是将每台计算机放在特定的固定位置。
答案 0 :(得分:0)
我不确定getPos()的作用;但是,我们假设它不会释放与输入DOM的事件绑定。
尝试更新commandLink:
<p:commandLink id="addCompBtn" value="Add Computer" actionListener="#{coltsysLab.addComputer}" update="@this,availableComputers,labStat" oncomplete="getPos();"/>
答案 1 :(得分:0)
您应尝试从按钮中删除oncomplete="getPos();"
并再次测试。如果按钮在第一次之后工作正常,则问题必须来自您的JavaScript函数。如果是这种情况,您应该使用任何浏览器上的开发人员工具来调查此问题。例如,在Chrome浏览器上,右键单击页面上的任意位置,然后点击Inspect Element
,Console
部分可能有帮助。