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简介
Oct 16 Javascript
jQuery操作JSON的CRUD用法实例
Feb 25 Javascript
JS实现简易图片轮播效果的方法
Mar 25 Javascript
JavaScript中判断函数、变量是否存在
Jun 10 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
js图片轮播效果实现代码
Apr 18 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 Javascript
Vue实现开心消消乐游戏算法
Oct 22 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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
做个自己站内搜索引擎
2006/10/09 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP模板解析类实例
2015/07/09 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python读写二进制文件的方法
2015/05/09 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
import的本质解析
2017/10/30 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
python计算两个数的百分比方法
2018/06/29 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python 模块导入问题汇总
2021/02/01 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
车间副主任岗位职责
2013/12/24 职场文书
水电工岗位职责
2014/02/12 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
建筑安全生产责任书
2014/07/22 职场文书
合作意向书
2014/07/30 职场文书
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技