angularjs实现table增加tr的方法


Posted in Javascript onFebruary 27, 2018

需求:

angularjs实现table增加tr的方法

上面是一个table,运用了

<tr ng-repeat="rule in formData.ruleList track by $index">

循环显示。现在的一个需求是:需要在每行添加一个字段,不过不能在同一行显示,需要在下一行显示。我首先想到了直接加个,不过没有办法换行。在下面再加个也不行。只能依赖强大的angulajs,自定义指令。下面我们就开始。

1 自定义指令

.directive(
   'kbnTableRow',
   function($compile) {
    return {
    restrict : 'A',
    link : function(scope, element) {
    element.after('<tr>');
   function expressDescHtml() {
   var detailHtml = '<td></td><td colspan="5">'
   + '<div ng-show="rule.type!==1">'
    + '<div class="col-xs-9 row">'
 + ' <input type="text" class="form-control" ng-model="rule.exprDesc"readonly ">'
+ '</div>'
+'</div>' + '</td>';
return detailHtml;
    }
  },
 templateUrl : 'libs/kbnTable/table_row/rule.html'
      };
     });

2 rule.html是原来的里的内容

<td class="form-control-static">
 <div class="form-control-static">{{$index+1}}</div>
</td>
<td>
 <div class="form-control-static" ng-show="rule.type===1"
  style="text-align: -webkit-left;">   {{rule.rightVar.desc}}</div>
 <div ng-show="rule.type!==1">
  <div class="col-xs-9 row">
   <input type="text" class="form-control" ng-model="rule.rightVar.desc"
    readonly title="{{rule.rightVar.desc}}">
  </div>
  <div class="col-xs-3 ">
   <button class="btn btn-warning"
    ng-click="showRightVar(rule,'rightVar')">设置</button>
  </div>
 </div>
</td>
<td class="form-control-static" ng-show="formData.execType == 't02'">
 <div class="form-control-static" style="padding-top: 0;">
  <input type="text" class="form-control" ng-model="rule.score"
   title="{{rule.score}}" />
 </div>
</td>
<td class="td-button" style="padding-left: 0; padding-right: 1px;">
 <button class="btn btn-danger" ng-click="del(rule)">删除</button> <input
 type="hidden" ng-model="rule.enable" />
</td>
<td class="td-button" style="padding: 8px 0;">
 <button class="btn btn-danger" ng-click="disabledRule(rule, $event)">
  <span ng-if="rule.enable == 0">启用</span> <span
   ng-if="rule.enable == 1">禁用</span>
 </button>
</td>

不需要改变,原来是什么,这里就写什么。

3 初始页面里的tr循环部分,用我们新建的指令改写:

<div class="row">
   <div class="col-xs-12 row">
    <h4 class="col-xs-12">
     <b>表达式设置</b>
    </h4>
   </div>
   <div class="col-xs-12">
    <div class="row">
     <div class="col-xs-10">
      <table class="table text-center">
       <tr>
        <th ng-click="toggleAll()">
          <i class="fa discover-table-open-icon"
          ng-class="{ 'fa-caret-down': formData.on, 'fa-caret-right': !formData.on }"> 
          </i>
        </th>
        <th width="45px">序号</th>
        <th>左变量</th>
        <th>操作符</th>
        <th>右变量</th>
        <th width="75px" ng-show="formData.execType == 't02'">分值</th>
        <th colspan="2">操作</th>
        <th></th>
       </tr>
       <tbody>
        <tr ng-repeat="rule in formData.ruleList track by $index"
         kbn-table-row class="discover-table-row"></tr>
       </tbody>
      </table>
     </div>
     <div class="col-xs-1">
      <button class="btn btn-info" ng-click="addRule()">新增</button>
     </div>
    </div>
   </div>

这样就可以完成我们的初始要求,不过可以在上面稍微改动下,会实现更棒的功能,下面一行可以自动收缩:

angularjs实现table增加tr的方法

以上这篇angularjs实现table增加tr的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
html向js方法传递参数具体实现
Aug 08 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
一个JavaScript函数把URL参数解析成Json对象
Sep 24 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
基于Vue.js实现数字拼图游戏
Aug 02 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 Javascript
原生js实现日历效果
Mar 02 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 Javascript
jQuery实现动态向上滚动
Dec 21 jQuery
关于redux-saga中take使用方法详解
Feb 27 #Javascript
浅析Visual Studio Code断点调试Vue
Feb 27 #Javascript
angularJs 表格添加删除修改查询方法
Feb 27 #Javascript
ExtJs整合Echarts的示例代码
Feb 27 #Javascript
angularJS实现动态添加,删除div方法
Feb 27 #Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 #Javascript
AngularJS动态添加数据并删除的实例
Feb 27 #Javascript
You might like
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
关于跨站脚本攻击问题
2011/12/22 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python 列表理解及使用方法
2017/10/27 Python
Django权限机制实现代码详解
2018/02/05 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
Python数据结构之图的应用示例
2018/05/11 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
iPython pylab模式启动方式
2020/04/24 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Python之Sklearn使用入门教程
2021/02/19 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
美国折扣网站:jClub
2017/08/07 全球购物
印尼旅游网站:via
2017/11/12 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
乡镇庆八一活动方案
2014/02/02 职场文书
学习决心书范文
2014/03/11 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
手写实现JS中的new
2021/11/07 Javascript
nginx lua 操作 mysql
2022/05/15 Servers