重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在弹出的模态框中使用表格。
创新互联建站专业为企业提供获嘉网站建设、获嘉做网站、获嘉网站设计、获嘉网站制作等企业网站建设、网页设计与制作、获嘉企业网站模板建站服务,十载获嘉做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在某些情况下,特别是 bootstrap modal,可能会出现表格渲染宽度过小或有时显示不完全。会误认为是由于 bootstrap modal 的动画渲染导致表格渲染时的可用空间不如预期。可以通过调用handleWindowResize来纠正。动画渲染的时间不好确定,所以一般推荐使用$interval,在模态框打开后的5秒内每隔500ms循环调用。
从某种意义上说,这类似于自动调整大小的功能,但它只在模态框开启后的短时间内完成。
代码:
index.html
mian.css
.grid { width: 300px; height: 250px; }
app.js
var app = angular.module('app', ['ngTouch', 'ui.grid']); app.controller('MainCtrl', ['$rootScope', '$scope', '$http', 'modal', '$interval', function ($rootScope, $scope, $http, modal, $interval) { var myModal = new modal(); $scope.hideGrid = true; $rootScope.gridOptions = { onRegisterApi: function (gridApi) { $scope.gridApi = gridApi; // call resize every 500 ms for 5 s after modal finishes opening - usually only necessary on a bootstrap modal $interval( function() { $scope.gridApi.core.handleWindowResize(); }, 500, 10); } }; $http.get('/data/100.json') .success(function(data) { $rootScope.gridOptions.data = data; }); $scope.showModal = function() { myModal.open(); }; }]); app.factory('modal', ['$compile', '$rootScope', function ($compile, $rootScope) { return function() { var elm; var modal = { open: function() { var html = '{{modalStyle}}'; elm = angular.element(html); angular.element(document.body).prepend(elm); $rootScope.close = function() { modal.close(); }; $rootScope.modalStyle = {"display": "block"}; $compile(elm)($rootScope); }, close: function() { if (elm) { elm.remove(); } } }; return modal; }; }]);
Demo
以上所述是小编给大家介绍的jQuery UI Grid 模态框中的表格,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!