JSF在f:ajax之后执行javascript

Mr.*_*dar 10 javascript ajax jsf

在我的JSF 2 Web应用程序中,我使用以下代码根据selectedStatus显示和切换rich:dataTable的内容:

<h:selectOneRadio id="statusSelection" value="#{backingBean.selectedStatus}" style="width:auto; float:left;">
  <f:selectItem itemValue="AVAILABLE" itemLabel="Available" />
  <f:selectItem itemValue="INACTIVE" itemLabel="Inactive" />
  <f:ajax render="itemsDataTable" execute="#{backingBean.sortByTitel('ascending')}" />
  <f:ajax render="itemsDataTable" event="click" />
</h:selectOneRadio>
Run Code Online (Sandbox Code Playgroud)

dataTable包含a4j:commandLink,在更改表内容后无意中需要在某些IE版本中双击 - 我发现,执行以下Javascript代码(在IE的调试控制台上,在表内容更改后)解决了问题:

document.getElementById(<dataTableClientId>).focus()
Run Code Online (Sandbox Code Playgroud)

我的问题是:在表格内容发生变化后,如何实现javascript代码的自动执行?

Dan*_*iel 25

为了f:ajax在以下内联解决方案之后调用js代码

<f:ajax render="itemsDataTable" 
    onevent="function(data) { if (data.status === 'success') { 
    document.getElementById('dataTableClientId').focus() } }"/>
Run Code Online (Sandbox Code Playgroud)

另外看看这个答案:JSF和Jquery AJAX - 我如何让它们一起工作?

此外,仔细检查的需要event="click"f:ajax,在导致违约事件h:selectOneRadiochange,我想你最好使用...