2015-11-06 102 views
0

在我的角度web应用程序中,我会让用户输入日期,然后使用ajax我会生成可用的游览。为此,我想通过包含ng-click调用的ajax生成代码。我试图编译它,以便稍后将其添加到div #tourAvailPlan。我将$ compile添加到控制器(app.controller("myCtrl", function($scope, $http, $filter, $compile, ngDialog) { ...)。尽管如此,当我用ng-click(用ajax生成)单击按钮时,没有任何反应。编译角度ajax生成的代码

This answer从html字符串创建一个jQuery对象,但我不知道为什么。无论如何,我也是在这里做的。

我在做什么错?

$http({ 
method: 'post', 
url: '/ajax/tours/loadGroupTours.php', //Load tours in given date range 
data: { 
dateArr: dateArr, 
dateDep: dateDep, 
tourId: tourId 
} 
}).then(function successCallback(response) { 
    //No errors 

    $el = $(response.data); 
    $compile($el)($scope); 

    document.getElementById('tourAvailPlan').innerHTML = response.data; 

}, function errorCallback(response) { 
    //Errors 
    alert('ERROR in http request!'); 
}); 
     } 
    } 
}; 

回答

1

你必须编译元素追加。更换

document.getElementById('tourAvailPlan').innerHTML = response.data; 

$('#tourAvailPlan').append($el) 
+0

哇,这很简单,工作就像一个魅力,谢谢! –