javascript - 如何使用ajax网格中的数据刷新作为触发器?

标签 javascript ajax coldfusion coldfusion-9

在 CF9 (ext js 3.1) 中,我有一个绑定(bind)网格,由 ajax 调用填充,基于选择框的值。 select的onChange事件触发js函数。在此函数中,我尝试在网格刷新事件上设置触发器,以执行其他一些代码。 我尝试过渲染后、重新配置、加载,但没有任何效果:没有收到错误,但函数没有被触发。 如果我将事件更改为网格刷新后发生的事件,例如 grid.addEvents('click') ,它可以正常工作。我错过了什么?

function myFunc(val) {
// ... some other code ...

  ColdFusion.Grid.refresh('myGrid',true);
  var grid = ColdFusion.Grid.getGridObject('myGrid');

  grid.addEvents('reconfigure'); 

  grid.on('reconfigure',function(){ 
    alert("Grid changed!");
  });           
}

最佳答案

看起来 ColdFusion.Grid.refresh('myGrid',true) 开始异步执行,函数的其余部分继续执行,并且可以在 grid.refresh 完成之前执行。

我将触发的代码移至另一个函数并添加了延迟,对此我不太满意,因为 ajax 调用也可能会延迟超过一秒。如果有人有更好的想法,我很乐意了解它。

function myFunc(val) {
  // ... some other code ...

  ColdFusion.Grid.refresh('myGrid',true);

  myVar = setInterval(myOtherFunc,1000);
}

function myOtherFunc() {
  var grid = ColdFusion.Grid.getGridObject('myGrid');
  // add whatever code is needed
}

关于javascript - 如何使用ajax网格中的数据刷新作为触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23615426/

相关文章:

javascript - 在包含许多已加载图像的 HTML 页面中,使用 CSS 显示/不透明度/可见性来隐藏它们在性能方面有区别吗?

javascript - 在 IE 中单击表单按钮后重新加载页面

javascript - 从另一个类 React Native 访问它

jquery - 如何在Firebug中通过ajax CORS请求中的授权?

mysql - Coldfusion 查询结果基于相关表的查询结果

rest - ColdFusion REST 404

javascript - 从长字符串中提取两项的正则表达式

javascript - 多个 AngularJS 获取请求到一个模型中

javascript - 单击后显示对话框弹出刷新页面

Coldfusion 安全 cftp 超时