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 相关文章推荐
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
ES6解构赋值实例详解
Oct 31 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
Dec 14 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
小程序自定义日历效果
Dec 29 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 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 memcache扩展的三种安装方法
2009/04/26 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
JAVASCRIPT keycode总结
2009/02/04 Javascript
js 覆盖和重载 函数
2009/09/25 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
js实现3D旋转相册
2020/08/02 Javascript
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
django之session与分页(实例讲解)
2017/11/13 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
Python使用Matlab命令过程解析
2020/06/04 Python
Python hashlib模块的使用示例
2020/10/09 Python
Python try except else使用详解
2021/01/12 Python
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
文明青少年标兵事迹材料
2014/01/28 职场文书
个性与发展自我评价
2014/02/11 职场文书
个人自我鉴定总结
2014/03/25 职场文书
安全协议书范本
2014/04/21 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
执行力心得体会范文
2016/01/11 职场文书