html - Jquery UI Dialog with AngularJS -
i'm learning angularjs, searched in google can not find solution problem.
i using jqueryui dialog, bootstrap css , want angularjs events , queries database.
i have following files:
index.html
<!doctype html> <html lang="es-mx"> <head> <meta charset="utf-8"> <meta content="ie=edge" http-equiv="x-ua-compatible"> <title></title> </head> <body> <link rel="stylesheet" href="js/jquery-ui-1.11.4/jquery-ui.min.css"></link> <link rel="stylesheet" href="bootstrap-3.3.4/css/bootstrap.min.css"> <script src="js/jquery-1.11.3.min.js"></script> <script src="js/jquery-ui-1.11.4/jquery-ui.min.js"></script> <script src="bootstrap-3.3.4/js/bootstrap.min.js"></script> <script src="js/demo.js"></script> <script src="js/angular-1.3.15/angular.js"></script> <div class="navbar-wrapper"> <div class="container"> <nav class="navbar navbar-inverse navbar-static-top"> <div class="container"> <div class="navbar-header"> <button aria-controls="navbar" aria-expanded="false" data-target="#navbar" data-toggle="collapse" class="navbar-toggle collapsed" type="button"> <span class="sr-only">toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand"><span class="glyphicon glyphicon-home" aria-hidden="true"></span> menu</a> </div> <div id="navbar" class="navbar-collapse collapse active"> <ul class="nav navbar-nav"> <li id="mjobs"><a href="#"><span class="glyphicon glyphicon-wrench" aria-hidden="true"></span>jobs</a></li> </ul> </div> </div> </nav> </div> </div> <div id="d_window"></div> </body> </html>
file demo.js
$(function(){ $( "#d_window" ).dialog({ autoopen: false, position: { my: "center", at: "center" } }); $("#mjobs").click(function(){ $.ajax({ url: 'views/jobs.html', type: 'post', datatype: 'html', data: 'content', }).done(function (data) { $( "#d_window" ).html(''); $( "#d_window" ).append(data); $( "#d_window" ).dialog( "open" ); }); }); });
file jobs.html
<script src="js/bolsaapp.js"></script> <div ng-app="bolsaapp"> <table class="table" ng-controller="bolsaview"> <tr> <td colspan="2" align="center"> <button id="btnenviarbolsa" ng-click="sendjobs()" class="btn btn-info btn-xs"> send</button> </td> </tr> </table> </div>
file bolsaapp.js
var bolsaapp = angular.module('bolsaapp', [ ]); bolsaapp.controller('bolsaview', function($scope){ console.log('enter'); $scope.sendjobs = function(){ console.log('hello'); }; });
to give displayable send not display on console
any idea?
to initialize angularjs application, place ng-app attribute on html element defines application's scope. dom content has finished loading, angular take care of setup process , bootstrap application. in case of html rendered asynchronously angular not wait.
luckily, angularjs applications can bootstrapped programmatically.
so once append html d_window
element should manually boostrap angular app. try this
$("#mjobs").click(function(){ $.ajax({ url: 'views/jobs.html', type: 'post', datatype: 'html', data: 'content', }).done(function (data) { $( "#d_window" ).html(''); $( "#d_window" ).append(data); $( "#d_window" ).dialog( "open" ); angular.bootstrap(document, ["bolsaapp"]); }); });
Comments
Post a Comment