я рендеринга HTML после AngularJS называют Ее контроллерПрименить JQuery после рендеринга angularJS HTML
App.controller('controller', ['$scope', '$http', '$sce', '$routeParams', '$location', function ($scope, $http, $sce, $routeParams, $location) {
$http({
//http call
}).then(function (response) {
$scope.requestpurpose = $sce.trustAsHtml(response.data.requestpurpose);
$scope.$watch('requestpurpose', function(newValue, oldValue) {
if(typeof newValue != 'undefined'){
alert(newValue);
showAlreadySelected();
}
});
}]);
и его JQuery скрипт
<script type="text/javascript">
// it will show the div depending on purpose of request
function showAlreadySelected(){
if ($("#1").is(":checked")) {
$("#veterinarian-info").show();
} else {
$("#veterinarian-info").hide();
}
}
</script>
Это мой HTML
<div class="row purpose-box" >
<div class="col-sm-12" ng-bind-html="requestpurpose"></div>
</div>
и после вызова ajax ниже html возникает в ng-bind-html
<div class="boxes-check">
<div class="box-one">
<input checked="checked" rev="Annual exam" type = "checkbox" name = "request_purpose[]" ng-model=formData.request_purpose[1] onChange="angular.element(this).scope().changePurpose(this)" value = "1" class = "md-check" id = "1" >
</div>
<div class="box-two">
<label title="" for="1">
<span></span>
<span class="check"></span>
<span class="box"></span> Annual exam
</label>
</div>
</div>
<div class="boxes-check">
<div class="box-one">
<input checked="checked" rev="Spay or neuter surgery" type = "checkbox" name = "request_purpose[]" ng-model=formData.request_purpose[2] onChange="angular.element(this).scope().changePurpose(this)" value = "2" class = "md-check" id = "2" >
</div>
<div class="box-two">
<label title="" for="2">
<span></span>
<span class="check"></span>
<span class="box"></span> Spay or neuter surgery
</label>
</div>
</div>
, но я столкнулся проблема после угловой нагрузки его вызывающего showAlreadySelected функции, но не выбран «# 1» и одну вещи, если любое тело может помочь любой функции Jquery, которая ударит всегда, когда входной элемент с идентификатором «# 1 "," # 2 "в мой ng-bind-html div.
ID не должно начинаться с цифры и то, что я вижу, что вы установите '$ scope.requestpurpose' в строку HTML, но действительно ли вы добавляете его в дерево DOM? – ValLeNain
На самом деле я просто внес некоторые изменения в старый проект, который построен старым разработчиком, поэтому есть некоторые ошибки, да, он добавляет в дерево DOM его html:
– hu7sy