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 相关文章推荐
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
May 24 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
javascript 将共享属性迁移到原型中去的实现方法
Aug 31 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
Sep 18 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
Sep 18 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
关于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
PHP中for循环语句的几种变型
2007/03/16 PHP
IStream与TStream之间的相互转换
2008/08/01 PHP
php在线代理转向代码
2012/05/05 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
Python信息抽取之乱码解决办法
2017/06/29 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
python爬虫基础知识点整理
2020/06/02 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
python中if嵌套命令实例讲解
2021/02/25 Python
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
学生励志演讲稿
2014/01/06 职场文书
高三毕业寄语
2014/04/10 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
师德师风整改措施
2014/10/24 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
预备党员自我评价范文
2015/03/04 职场文书
毕业实习单位意见
2015/06/04 职场文书
放飞理想主题班会
2015/08/14 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python