javascript - JQuery 调用在我的 AngularJS 页面中不起作用
问题描述
我项目的此页面中的 JQuery 选择器不起作用,它们调用自动完成方法和日期选择器的方式与其他正常工作的页面相同。
这是我的代码,我反复查看了 420 次。
如果我尝试填充输入字段,则应在 dati.js 中调用 get 方法,但似乎 $ 选择器不起作用,因为 .datepicker 也不起作用
控制器
angular.module('AceApp').controller('praticaCtrl', function($scope, $window, $http, $timeout, $rootScope, $state, $stateParams, $location, $auth, $uibModal, dati, $compile, $filter) {
$( ".datapicker" ).datepicker({
changeMonth: true,
changeYear: true,
yearRange: "1900:2050",
dateFormat: 'dd-mm-yy'
});
$(".dataPickerModal").datepicker({
changeMonth: true,
changeYear: true,
yearRange: "1900:2050",
dateFormat: 'dd-mm-yy'
}).css({"z-index":10000});
////////////
$("#luogoNascita").autocomplete({
source: function (request, resolve) {
console.log("vvv");
dati.getCitta(request.term)
.success(function (data) {
resolve(data);
})
.error(function () {
});
}
});
$("#luogoNascita").on("autocompleteselect", function(event, ui) {
$timeout(function() {
$scope.cliente.comune_nascita.sigla = ui.item.sigla;
$scope.cliente.comune_nascita.codice_catastale = ui.item.codiceCatastale;
});
}); ETC...
HTML
<div class="col-md-3 col-sm-3 col-xs-7">
<label for="luogoNascita">Luogo di Nascita</label>
<input ng-model = "cliente.comune_nascita.nome" autocomplete = "on"
type="text" class="form-control" name="luogoNascita"
id="luogoNascita" placeholder="Ricerca Città" style="width:100%" />
</div>
APP.JS
.state('pratica', {
url: '/pratica/:id',
title: 'Dati anagrafici',
icon: 'fa fa-dollar',
view: false,
sottomenu: false,
templateUrl: 'views/pages/pratiche/pratica.html',
permissions: 'quinto-stipendio_pratica',
controller: 'praticaCtrl',
resolve: {
lazyLoad: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load([
{
serie: true,
name: 'dataTables',
files: ['../components/datatables/media/js/jquery.dataTables.js', '../components/_mod/datatables/jquery.dataTables.bootstrap.js', '../components/angular-datatables/dist/angular-datatables.js']
},
{
name: 'AceApp',
files: ['js/controllers/pages/pratiche/pratica.js']
},
{
name: 'stepF',
files: ['js/controllers/pages/dropzone/uploader.js']
}
]);
}]
},
permissions: 'leggi-cessione_quinto'
})
我只是从它工作的其他页面复制粘贴此代码,并且没有任何区别。
解决方案
好吧..你不能只在 AngularJS 中使用 $()。
有结合jquery和angularjs的解决方案
推荐阅读
- c - 将 1 个数据帧合并到列表中的多个数据帧-R
- c# - WebApi Core 项目调试挂在 await client.GetAsync
- javascript - 如何在大屏幕上禁用 onclick 事件?
- python - 强制数组中非零元素之间的最小间距
- jquery - 无法从 Angular 中的 JQuery on() 方法访问全局变量
- sql-server - 无法加载新的数据事实表 SSIS
- dart - 如何正确启用/禁用 Flutter 的 Button
- reactjs - 意外令牌:生产构建中的运算符 (>)
- jquery - 在不刷新页面的情况下加载 Laravel 刀片
- php - 使用 xampp 在 system32 中的 .htaccess 和主机 URL“我创建”的问题