Javascript 观察从ajax查询加载的数据

Javascript 观察从ajax查询加载的数据,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个AngularJS服务,它打开一个搜索提示,执行查询,显示搜索结果,并允许用户选择一个项目 我遇到的问题是,当我显示搜索结果时,我无法使ng单击正常工作。在“我的搜索结果”列表中,用户可以通过单击html锚定值来选择该项。当用户单击他们想要的项目时,我无法调用ng click函数。当我用ng click点击锚点时,什么也没发生 以下代码是显示搜索结果后的angularjs ui引导事件“呈现”。我获取json搜索结果,并将其显示在jquery数据表中。在“createdRow”中,我试图

我有一个AngularJS服务,它打开一个搜索提示,执行查询,显示搜索结果,并允许用户选择一个项目

我遇到的问题是,当我显示搜索结果时,我无法使ng单击正常工作。在“我的搜索结果”列表中,用户可以通过单击html锚定值来选择该项。当用户单击他们想要的项目时,我无法调用ng click函数。当我用ng click点击锚点时,什么也没发生

以下代码是显示搜索结果后的angularjs ui引导事件“呈现”。我获取json搜索结果,并将其显示在jquery数据表中。在“createdRow”中,我试图为ng click添加观察程序,但它不起作用

如何从搜索结果中获取要调用的ng click函数

// after the modal window is rendered, set the data and datatable
_instance.rendered.then(function() {
  console.log('searchService.showResults.rendered.then;');
  $('#searchresultsmodaltable').dataTable({
    info: false,
    searching: false,
    ordering: false,
    lengthChange: false,
    autowidth: true,
    pageLength: 6,
    pagingType: "simple_numbers",
    language: {
      emptyTable: "No results found."
    },
    data: _results,
    columns: [{
      data: "codeHtml",
      title: "Code"
    }, {
      data: "name",
      title: "Name"
    }],
    createdRow: function(row, data, dataIndex) {
      console.log('searchService.showResults.createdRow;');
      $compile(angular.element(row).contents())($scope);
    }
  });
});
普朗克:

要复制plunker代码中的问题,请执行以下操作:

  • 单击“搜索”按钮打开搜索输入模式
  • 单击“搜索”按钮以显示搜索结果
  • 在搜索结果中,您将看到“code2”。如果你点击“代码2”,什么都不会发生。html锚用ng click=“onClickSelect('code2')设置,但单击时不会触发该事件。如果你看一下plunker代码中的第70行,那就是我获取搜索结果并将其放入数据表的地方。第93行是我试图添加不工作的ng click watcher的地方

  • 谢谢。

    我已经解决了你的问题。 看看您的代码,控制器使用了两次(两个uibModal)。每个控制器都有一个新的作用域,因此传递到
    showResult
    func的作用域是旧的


    若要修复代码,请分离控制器,并将
    showResult
    移动到第二个。

    是否在
    css
    中选中
    z-index
    modal
    ?我在
    modal
    中遇到了同样的问题,但在修改
    z-index
    tab-index
    后,我的问题消失了。感谢您的回复。没有引用正确的控制器是我的问题。我修改的代码与你的建议有点不同。在我的控制器中,我向服务提供了对范围的引用,并进行编译以使其工作。谢谢