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 相关文章推荐
DWZ table的原生分页浅谈
Mar 01 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
Sep 25 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
js省市联动效果完整实例代码
Dec 09 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
原生js实现选项卡功能
Mar 08 Javascript
JS变量及其作用域
Mar 29 Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 Javascript
微信小程序图片左右摆动效果详解
Jul 13 Javascript
小程序表单认证布局及验证详解
Jun 19 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 session 存储方式的详细介绍
2013/06/25 PHP
php格式化电话号码的方法
2015/04/24 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
解决vue addRoutes不生效问题
2020/08/04 Javascript
python SMTP实现发送带附件电子邮件
2018/05/22 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python WEB应用部署的实现方法
2019/01/02 Python
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
次世代生活态度:Hypebeast
2018/07/05 全球购物
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
大学生应聘推荐信范文
2013/11/19 职场文书
中学自我评价
2014/01/31 职场文书
婚前协议书范本两则
2014/10/16 职场文书
个人工作保证书
2015/02/28 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
小学班主任心得体会
2016/01/07 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang