Maison interface Web js tutoriel Comment créer un tableau complet avec angulairejs_AngularJS

Comment créer un tableau complet avec angulairejs_AngularJS

May 16, 2016 pm 03:19 PM
angularjs Faire un tableau

Comme j'apprends et écris en même temps, l'organisation est assez compliquée. Voici le code complet de mon exemple pour faciliter la communication et les tests. Si vous avez des questions, veuillez commenter

.

Tout d'abord, le tableau est édité dans le style BootStrap, principalement en utilisant angulairejs. Pour plus de commodité, il existe également une méthode jQuery. Vous devez introduire vous-même les fichiers bootstrap, angulaires et jq pendant les tests.

Aperçu global du code :

HTML :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

<!DOCTYPE html>

<html lang="en" ng-app="myModule">

<head>

 //需要自行引入BOOTStrap,angularjs和jQuery的js,css文件

 <style>

  .pagination .num{

   font-size:22px;color:red;

  }

  .text{

   margin:0 auto;

   border:1px solid #ccc;

   width:100%;

   max-width:200px;

  }

 </style>

 <title>欢迎</title>

</head>

<body ng-controller="myCtrl">

 <div class="block">

  <div class="navbar navbar-inner block-header">

   <div class="muted pull-left">{{kaohzbTitle}}</div>

  </div>

 

   <div class="span12" style="float:left;">

    <div class="table-toolbar">

     <button style="margin-left: 5px;" id="refresh" ng-click="refresh()"

       class="btn btn-success">

      <i class=" icon-refresh icon-white"></i> 刷新

     </button>

     <button ng-disabled="isdisabled" class="btn" ng-class="{'btn-info':isInfo}" id="savekaohzb"

       ng-click="save()">

      <i class="icon-edit icon-white"></i> 保存

     </button>

    </div>

   </div>

   <div class="row-fluid">

    <div class="span6"></div>

    <table class="table table-striped table-bordered table-hover"

      id="example" style="margin-top:10px;">

     <thead>

     <tr>

      <th style="width: 20px;" rowspan="2">全选 <br><input type="checkbox" ng-model="selectAll"></th>

      <th style="text-align: center; width: 50px;vertical-align: middle" rowspan="2">序号</th>

      <th style="text-align: center; width: 150px;vertical-align: middle" rowspan="2">名称</th>

      <th style="text-align: center; width: 150px;vertical-align: middle" rowspan="2">日期</th>

      <th style="text-align: center; width: 150px;" colspan="3">比赛队伍(红)</th>

      <th style="text-align: center; width: 150px;" colspan="3">比赛队伍(蓝)</th>

      <th style="text-align: center; width: 150px;vertical-align: middle" rowspan="2">比分</th>

      <th style="text-align: center; width: 150px;vertical-align: middle" rowspan="2">说明</th>

      <th style="text-align: center; width: 150px;vertical-align: middle" rowspan="2">玩家支持队伍</th>

     </tr>

     <tr>

      <th style="text-align: center; width: 80px;">第一场</th>

      <th style="text-align: center; width: 80px;">第二场</th>

      <th style="text-align: center; width: 80px;">说明</th>

      <th style="text-align: center; width: 80px;">第一场</th>

      <th style="text-align: center; width: 80px;">第二场</th>

      <th style="text-align: center; width: 80px;">说明</th>

     </tr>

     </thead>

     <tbody ng-click="fun()" id="page" ng-show="isshow">

     <!--track by tb.id-->

      <tr ng-repeat="tb in saveDate"><!-- 只用angularjs实现点击一行就选中暂时无法实现 -->

       <td style="width: 20px;"><input type="checkbox" ng-checked="selectAll"></td>

       <td style="text-align:center;">{{tb.id}}</td>

       <td style="text-align:center;">{{tb.zbname}}</td>

       <td style="text-align:center;">{{tb.zbtime}}</td>

       <td style="text-align:center;">{{tb.zbrul1}}</td>

       <td style="text-align:center;">{{tb.zbrul2}}</td>

       <td style="text-align:center;"><div class="text" contenteditable="true" ng-model="tb.por"></div></td>

       <td style="text-align:center;">{{tb.zbrul2}}</td>

       <td style="text-align:center;">{{tb.zbrul1}}</td>

       <td style="text-align:center;"><div class="text" contenteditable="true" ng-model="tb.por"></div></td><!-- 2016.1.19通过可编译的div来代替输入框 -->

       <td style="text-align:center;">{{tb.score}}</td>

       <td style="text-align:center;"><div class="text" contenteditable="true" ng-model="tb.por"></div></td>

       <td>

        <select name="" id="" ng-change="changetype(adds)" ng-model="adds" style="text-align:center;width:100%;min-width:80px;margin-bottom:0">

         <option value="" ng-show="isShow">{{tb.type}}</option>

         <option value="支持红方">支持红方</option>

         <option value="支持蓝方">支持蓝方</option>

         <option value="双方相同">双方相同</option>

        </select>

       </td>

      </tr>

     </tbody>

    </table>

   </div>

  <div class="pagination">

   <ul style="float:right">

    <li id="previous"><a href="">上一页</a></li>

    <li><!--用于页标的显示 -->

     <ul id="page_num_all">

     </ul>

    </li>

    <li id="next"><a href="" style="border:1px solid #ddd;float:right">下一页</a></li>

   </ul>

   <span>

    当前为第<span class="num" id="current_page"></span>页,总共<span class="num" id="page_all"></span>页

   </span>

   <span>您当前对select的操作值为:</span>{{typename}}

  </div>

  <!-- END FORM-->

 </div>

</body>

Copier après la connexion

code js :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

<script>

 angular.module("myModule",[]).controller('myCtrl', function($scope) {

  $scope.kaohzbTitle = "考核指标维护";

  $scope.search = new Object();

  $scope.isdisabled=false;

  $scope.isInfo=false;

  $scope.saveDate="";//用于保存得到的原始数据

// $http.post请求表格数据

// 模仿请求得到的数据

  var datalist=[{

   id:1,zbname:"中亚赛区比赛",zbtime:"2015-12-03",zbrul1:"胜利",zbrul2:"失败",por:"请输入说明内容",score:"2:1",type:"支持红方"},{

   id:2,zbname:"日韩赛区比赛",zbtime:"2015-11-11",zbrul1:"胜利",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"支持蓝方"},{

   id:3,zbname:"欧美赛区比赛",zbtime:"2015-3-03",zbrul1:"失败",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"双方相同"},{

   id:4,zbname:"中东赛区比赛",zbtime:"2016-1-05",zbrul1:"胜利",zbrul2:"失败",por:"请输入说明内容",score:"2:1",type:"支持蓝方"},{

   id:5,zbname:"北京赛区比赛",zbtime:"2014-12-23",zbrul1:"失败",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"双方相同"},{

   id:6,zbname:"韩国赛区比赛",zbtime:"2015-11-01",zbrul1:"失败",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"双方相同"},{

   id:7,zbname:"日本赛区比赛",zbtime:"2011-1-23",zbrul1:"胜利",zbrul2:"失败",por:"请输入说明内容",score:"2:1",type:"支持红方"},{

   id:8,zbname:"中亚赛区比赛",zbtime:"2013-12-15",zbrul1:"失败",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"支持蓝方"},{

   id:9,zbname:"中亚赛区比赛",zbtime:"2015-10-17",zbrul1:"失败",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"支持红方"},{

   id:10,zbname:"中亚赛区比赛",zbtime:"2015-11-21",zbrul1:"胜利",zbrul2:"胜利",por:"请输入说明内容",score:"2:1",type:"支持蓝方"},{

   id:11,zbname:"中亚赛区比赛",zbtime:"2015-2-02",zbrul1:"失败",zbrul2:"失败",por:"请输入说明内容",score:"2:1",type:"支持红方"},{

   id:12,zbname:"中亚赛区比赛",zbtime:"2015-2-05",zbrul1:"胜利",zbrul2:"失败",por:"请输入说明内容",score:"2:1",type:"双方相同"}];

$scope.fun=function(){

   var e=window.event||arguments[0];

   var src=e.srcElement||e.target;

   if(src.nodeName=="TD"){

    var par=src.parentNode;

    var sd=par.getElementsByTagName("td")[0];

    if(sd.firstChild.checked==true){

     sd.firstChild.checked=false;

    }else{

     $("tr td").attr("checked",false);

     sd.firstChild.checked=true;

    }

   }

  }

$scope.refresh=function(){//点击刷新按钮显示表格

   $scope.saveDate=datalist;

   // console.log("结束赋予数据");

   $scope.$watch("saveDate",function(){//2016.1.20监听列表生成数据,当发生变化时执行刷新列表

    table_page();

    $scope.isshow=true;

   });

  }

 

  $scope.save=function(){//页面提交按钮

   console.log("准备保存");

   console.log($scope.saveDate);//只要数据改变,自动保存到原始数据列表中

 

  }

 

  //表格分页功能

  function table_page(){

   var show_page=5;//每页显示的条数

   var page_all=$("#page").children().size();//总条数

   var current_page=1;//当前页

//  console.log(page_all);

   var page_num=Math.ceil(page_all/show_page);//总页数

   var current_num=0;//用于生成页标的计数器

   var li="";//页标元素

   while(page_num>current_num){//循环生成页标元素

    li+='<li class="page_num"><a href="javasctip:(0)">'+(current_num+1)+'</a></li>';

    current_num++;

   }

   $("#page_num_all").html(li);//添加页标到页面

   $('#page tr').css('display', 'none');//设置隐藏

   $('#page tr').slice(0, show_page).css('display', '');//设置显示

   $("#current_page").html(" "+current_page+" ");//显示当前页

   $("#page_all").html(" "+page_num+" ");//显示总页数

   $("#previous").click(function(){//上一页

    var new_page=parseInt($("#current_page").text())-1;

    if(new_page>0){

     $("#current_page").html(" "+new_page+" ");

     tab_page(new_page);

    }

   });

   $("#next").click(function(){//下一页

    var new_page=parseInt($("#current_page").text())+1;//当前页标

    if(new_page<=page_num){//判断是否为最后或第一页

     $("#current_page").html(" "+new_page+" ");

     tab_page(new_page);

    }

   });

   $(".page_num").click(function(){//页标跳转

    var new_page=parseInt($(this).text());

    tab_page(new_page);

   });

   function tab_page(index){//切换对应页标的页面

    var start=(index-1)*show_page;//开始截取的页标

    var end=start+show_page;//截取个数

    $('#page').children().css('display', 'none').slice(start, end).css('display', '');

    current_page=index;

    $("#current_page").html(" "+current_page+" ");

   }

  }

 

 }).directive('contenteditable', function() {//自定义ngModel的属性可以用在div等其他元素中

  return {

   restrict: 'A', // 作为属性使用

   require: '&#63;ngModel', // 此指令所代替的函数

   link: function(scope, element, attrs, ngModel) {

    if (!ngModel) {

     return;

    } // do nothing if no ng-model

    // Specify how UI should be updated

    ngModel.$render = function() {

     element.html(ngModel.$viewValue || '');

    };

    // Listen for change events to enable binding

    element.on('blur keyup change', function() {

     scope.$apply(readViewText);

    });

    // No need to initialize, AngularJS will initialize the text based on ng-model attribute

    // Write data to the model

    function readViewText() {

     var html = element.html();

     // When we clear the content editable the browser leaves a <br> behind

     // If strip-br attribute is provided then we strip this out

     if (attrs.stripBr && html === '<br>') {

      html = '';

     }

     ngModel.$setViewValue(html);

    }

   }

  };

 })

</script>

Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer un tableau dans le fichier APP Kingsoft Docs_Comment insérer des images d'album photo externes dans le téléphone mobile Kingsoft Docs Comment créer un tableau dans le fichier APP Kingsoft Docs_Comment insérer des images d'album photo externes dans le téléphone mobile Kingsoft Docs Feb 28, 2024 pm 03:28 PM

Les amis qui sont entrés sur le lieu de travail auraient dû utiliser Kingsoft Docs. Ce logiciel a une version informatique et une version mobile de Kingsoft Docs, comment créer ou insérer des tableaux dans un document Word, nous y sommes souvent. Il y aura des situations où des images ou des tableaux externes doivent être insérés dans des fichiers Word. De nombreux novices ne connaissent pas la méthode. En fait, l'utilisation de Kingsoft Docs peut nous aider à insérer rapidement des tableaux et des images. peut être utilisé, apprenons avec l'éditeur ci-dessous. Comment créer un tableau dans le fichier Kingsoft Document APP 1. Tout d'abord, nous entrons dans l'application Kingsoft Document Android sur le téléphone mobile et cliquons sur le document Word où le tableau doit être inséré sur la page d'accueil. 2. Après avoir ouvert le fichier Word, utilisez votre doigt

Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Les 5 derniers tutoriels Angularjs en 2022, de l'entrée à la maîtrise Jun 15, 2017 pm 05:50 PM

Javascript est un langage tout à fait unique. Il est unique en termes d'organisation du code, de paradigme de programmation du code et de théorie orientée objet. La question de savoir si Javascript est un langage orienté objet a été débattue depuis un certain temps. Il y a évidemment une réponse depuis longtemps. Cependant, même si Javascript est dominant depuis vingt ans, si vous souhaitez comprendre les frameworks populaires tels que jQuery, Angularjs et même React, il suffit de regarder le « Black Horse Cloud Classroom JavaScript Advanced Framework ». Tutoriel vidéo de conception".

Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Utilisez PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité Jun 27, 2023 pm 07:37 PM

À l’ère de l’information d’aujourd’hui, les sites Web sont devenus un outil important permettant aux individus d’obtenir des informations et de communiquer. Un site Web réactif peut s’adapter à divers appareils et offrir aux utilisateurs une expérience de haute qualité, ce qui est devenu un point chaud dans le développement de sites Web modernes. Cet article expliquera comment utiliser PHP et AngularJS pour créer un site Web réactif afin d'offrir une expérience utilisateur de haute qualité. Introduction à PHP PHP est un langage de programmation open source côté serveur idéal pour le développement Web. PHP présente de nombreux avantages, tels que la facilité d'apprentissage, la multiplateforme, la riche bibliothèque d'outils et l'efficacité du développement.

Comment créer un tableau dans un document Word Comment créer un tableau dans un document Word Mar 18, 2024 pm 02:09 PM

Tutoriel de production : 1. Ouvrez Microsoft Word, créez un nouveau document ou ouvrez un document existant ; 2. Déplacez le curseur à l'endroit où vous souhaitez insérer le tableau ; 3. Dans la barre de menu Word, recherchez l'onglet « Insérer » et Cliquez : 4. Cliquez sur le bouton "Tableau", cliquez dessus et une grille de tableau apparaîtra ; 5. Passez la souris sur la grille du tableau, sélectionnez la taille de grille requise en fonction du nombre de lignes et de colonnes requis, puis cliquez sur la souris. Faites un clic gauche pour insérer le tableau.

Créer des applications Web en utilisant PHP et AngularJS Créer des applications Web en utilisant PHP et AngularJS May 27, 2023 pm 08:10 PM

Avec le développement continu d'Internet, les applications Web sont devenues un élément important de la construction de l'information d'entreprise et un moyen nécessaire au travail de modernisation. Afin de faciliter le développement, la maintenance et l'extension des applications Web, les développeurs doivent choisir un cadre technique et un langage de programmation adaptés à leurs besoins de développement. PHP et AngularJS sont deux technologies de développement Web très populaires. Ce sont respectivement des solutions côté serveur et côté client. Leur utilisation combinée peut considérablement améliorer l'efficacité du développement et l'expérience utilisateur des applications Web. Avantages de PHPPHP

Comment créer des tableaux dans BarTender - Comment créer des tableaux dans BarTender Comment créer des tableaux dans BarTender - Comment créer des tableaux dans BarTender Mar 04, 2024 pm 09:30 PM

De nombreux utilisateurs utilisent le logiciel BarTender, mais savez-vous comment créer des tableaux avec BarTender ? Ci-dessous, l'éditeur vous expliquera comment créer des tableaux avec BarTender. 1. Un tableau n'est rien de plus qu'un raccord de plusieurs lignes droites. Dans BarTender, nous pouvons utiliser des outils de ligne et de forme pour dessiner le tableau. Nous utilisons généralement cette méthode lorsqu'il s'agit de tableaux simples. Utilisez le rectangle comme cadre extérieur du tableau BarTender, puis ajoutez les lignes horizontales et verticales nécessaires pour obtenir l'effet suivant : 3. Une autre méthode consiste à créer à l'avance un tableau tel que le tableau de composition nutritionnelle requis dans le tableau Excel. Copiez et collez ensuite le tableau directement

Comment utiliser wps pour créer un tableau-Comment utiliser wps pour créer un tableau Comment utiliser wps pour créer un tableau-Comment utiliser wps pour créer un tableau Mar 04, 2024 pm 11:01 PM

De nombreux amis ne savent toujours pas comment utiliser WPS pour créer des tableaux, donc l'éditeur ci-dessous vous expliquera comment utiliser WPS pour créer des tableaux. Si vous en avez besoin, jetez-y un œil, je pense que cela sera utile à tout le monde. Étape 1 : Ouvrez le logiciel wps, cliquez sur « Tableau » en haut, puis cliquez sur « Nouveau document vierge » (comme indiqué sur l'image). Étape 2 : ouvrez le tableau wps, sélectionnez l'exemple de cellule avec 10 lignes et 6 colonnes, cliquez sur l'icône « champ » dans la barre d'outils et ajoutez une ligne de bordure à la cellule (comme indiqué dans la figure ci-dessous). Étape 3 : Sélectionnez la première ligne, utilisez la phrase combinée, puis saisissez un mot de conclusion (comme indiqué sur l'image). Étape 4 : saisissez les données dans d'autres cellules vides, c'est-à-dire qu'un simple tableau wps est créé (comme indiqué dans l'image). C'est l'éditeur ci-dessus

Créez une application Web d'une seule page à l'aide de Flask et AngularJS Créez une application Web d'une seule page à l'aide de Flask et AngularJS Jun 17, 2023 am 08:49 AM

Avec le développement rapide de la technologie Web, l'application Web à page unique (SinglePage Application, SPA) est devenue un modèle d'application Web de plus en plus populaire. Par rapport aux applications Web multipages traditionnelles, le plus grand avantage de SPA est que l'expérience utilisateur est plus fluide et que la pression de calcul sur le serveur est également considérablement réduite. Dans cet article, nous expliquerons comment créer un SPA simple à l'aide de Flask et AngularJS. Flask est un Py léger

See all articles