初写指令(根据参数动态显示表格栏数)
2015-01-06 17:59
295 查看
指令.js
'use strict';var editDirectives = angular.module('editDirectives', []);editDirectives.directive('editDirect', function() {return {restrict: 'ACEM',transclude : false,replace : false,scope: {customerInfo: '=info',col : '=col'},templateUrl: 'test_part1.html',link : function(scope, element, attrs) {scope.btnFunction = function btnFunction(i) {switch (i){case "启用":{console.log("启用"+scope.col);break;}case "删除":{console.log("删除");break;}case "增加":{console.log("增加");break;}}}scope.changeCol = function changeCol(value){var Table = document.getElementsByTagName("table");var myTable = Table[0];//行数var rowLength = myTable.rows.length;//列集合var cellArray = [];//列下标var xx=0;if (value>=1 && value<5) {//拿到列集合for (var j=0; j<rowLength;j++) {for (var i=0; i<myTable.rows[j].cells.length; i++){var cell = myTable.rows[j].cells[i];cellArray.push(cell);}}var cellValue = parseInt(cellArray.length/value);//删除所有行for (var i=0;i<rowLength;i++){myTable.deleteRow(0);}//重新排列行列for (var j=0;j<cellValue;j++) {var row=document.createElement("tr");myTable.appendChild(row);for (i=0;i<value;i++){myTable.rows[j].appendChild(cellArray[xx]);xx+=1;}}//判断余数if (cellArray.length%value != 0){var row=document.createElement("tr");myTable.appendChild(row);myTable.rows[myTable.rows.length-1].appendChild(cellArray[cellArray.length-1]);for (var i=1; i<value; i++){var cell = document.createElement("td");myTable.rows[myTable.rows.length-1].appendChild(cell);}}}}}}});
module.js
'use strict';var myApp = angular.module('editApp', [ 'editCtrloller', 'editDirectives']);
ctrl.js
'use strict';var editCtrloller = angular.module('editCtrloller', []);editCtrloller.controller('editCtrl',['$scope', function($scope) {$scope.infoArray = [{name:"晨曦",department:"财务部",position:"主管"}];$scope.colValue = 1;}]);
html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><meta name="author" content="yulin"/><title></title><script src="../../lib/angular/angular.js"></script><script src="app.js"></script><script src="controller.js"></script><script src="directive.js"></script><link href="../../lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet"></head><body ng-app="editApp"><div ng-controller="editCtrl"><edit-direct info="infoArray" col="colValue"></edit-direct></div></body></html>
templateUrl.html
按多少栏排列:<input ng-model="colValue" type="number" ng-blur="changeCol(colValue)"><br/><br/><div><table id="myTable" class="table table-bordered" ng-repeat="i in customerInfo"><tr><td>编号:<input type="number" value="{{$index}}"></td></tr><tr><td>姓名:<input type="text" value="{{i.name}}"></td></tr><tr><td>部门:<input type="text" value="{{i.department}}"></td></tr><tr><td>职位:<input type="text" value="{{i.position}}"></td></tr></table></div>
相关文章推荐
- 根据搜索关键字动态显示表格数据
- 根据参数,动态显示页面
- 根据要显示的字段个数动态生成表格标签table及内容
- 原生js根据url参数动态显示静态页面内容
- 根据要显示的字段个数动态生成表格标签table及内容
- 根据radio值动态显示file
- 根据Radio值动态显示File
- 根据数据库的内容动态创建Checkbox控件并显示在Panel上
- 带参数动态道指令
- jquery 实现 表格动态显示与隐藏
- 使用 hash map 动态显示 表格
- asp+ajax能实现根据下拉列表值动态无刷新显示数据
- Flex程序中根据外部参数连接指定的webservice(即动态指定wsdl)
- ABAP选择屏幕:根据用户选择动态显示屏幕
- 动态根据FLASH文件的宽和高,自适应大小显示FLASH
- [转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- 根据Radio值动态显示File
- 使用该JavaBean可以将数据在JSP页面中以表格的形式显示出来,并具有动态排序、动态生成查询、自动分页功能
- AjaxPro取后台数据动态显示表格
- 根据服务器的返回值动态设置HTML中select中option的显示