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获取网页中的js、css、Flash等文件
Dec 20 Javascript
$()JS小技巧
Jul 21 Javascript
js 函数调用模式小结
Dec 26 Javascript
js replace 与replaceall实例用法详解
Aug 03 Javascript
JQuery实现鼠标滑过显示导航下拉列表
Sep 12 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
Dec 09 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
vue.js实现刷新当前页面的方法教程
Jul 05 Javascript
vue升级之路之vue-router的使用教程
Aug 14 Javascript
jQuery无冲突模式详解
Jan 17 jQuery
为vue项目自动设置请求状态的配置方法
Jun 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验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
测绘工程个人的自我评价
2013/11/23 职场文书
项目合作意向书范本
2014/04/01 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
文秘求职信范文
2014/04/10 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
2014年施工员工作总结
2014/11/18 职场文书
会计试用期自我评价
2015/03/10 职场文书
银行求职信模板
2015/03/20 职场文书
保研专家推荐信范文
2015/03/25 职场文书
采购员岗位职责范本
2015/04/07 职场文书
个人工作决心书
2015/09/22 职场文书
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技