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中判断函数是new还是()调用的区别说明
Apr 07 Javascript
从零学JSON之JSON数据结构
May 19 Javascript
Jquery全选与反选点击执行一次的解决方案
Aug 14 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
jquery实现页面加载效果
Feb 21 Javascript
JavaScript实现替换字符串中最后一个字符的方法
Mar 07 Javascript
js仿微信抢红包功能
Sep 25 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
angular的输入和输出的使用方法
Sep 22 Javascript
13 个npm 快速开发技巧(推荐)
Jul 04 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
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
jquery高效反选具体实现
2013/05/05 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
Python实现k-means算法
2018/02/23 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
用Python解数独的方法示例
2019/10/24 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
Ejb技术面试题
2015/04/29 面试题
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
高中生物教学反思
2014/02/05 职场文书
党员检讨书
2014/10/13 职场文书
委托书英文
2015/01/28 职场文书
护士求职简历自我评价
2015/03/10 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
主婚人致辞精选
2015/07/28 职场文书
编写python程序的90条建议
2021/04/14 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL