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 相关文章推荐
setTimeout和setInterval的浏览器兼容性分析
Feb 27 Javascript
js类中获取外部函数名的方法与代码
Sep 12 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
JavaScript实现数字数组正序排列的方法
Apr 06 Javascript
jQuery插件passwordStrength密码强度指标详解
Jun 24 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
JavaScript惰性求值的一种实现方法示例
Jan 11 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
在vue项目中封装echarts的步骤
Dec 25 Vue.js
详解如何解决使用JSON.stringify时遇到的循环引用问题
Mar 23 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中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
php实现文件编码批量转换
2014/03/10 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
jQuery 回车事件enter使用示例
2014/02/18 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
angular.bind使用心得
2015/10/26 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
微信小程序实现锚点跳转
2020/11/23 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
基于python实现操作git过程代码解析
2020/07/27 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
田径运动会通讯稿
2014/09/13 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL