在我的角度网络应用中,我会让用户输入日期,然后使用ajax我会生成可用的游览。为此,我想通过包含ng-click调用的ajax生成代码。我正在尝试编译它以便稍后将其添加到div #tourAvailPlan
。我将$ compile添加到控制器(app.controller("myCtrl", function($scope, $http, $filter, $compile, ngDialog) {
...)。不过,当我点击按钮点击按钮(用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!');
});
}
}
};
答案 0 :(得分:1)
您必须附加已编译的元素。取代
document.getElementById('tourAvailPlan').innerHTML = response.data;
与
$('#tourAvailPlan').append($el)