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 相关文章推荐
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
Mar 11 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
基于BootStrap环境写jQuery tabs插件
Jul 12 Javascript
js 将图片连接转换成base64格式的简单实例
Aug 10 Javascript
浅谈js常用内置方法和对象
Sep 24 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
自定义vue组件发布到npm的方法
May 09 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
微信小程序实现商品属性联动选择
Feb 15 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python画双y轴图像的示例代码
2019/07/07 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
python实现猜拳游戏
2020/03/04 Python
python的json包位置及用法总结
2020/06/21 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
后备干部培训方案
2014/05/22 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers
Python实现归一化算法详情
2022/03/18 Python
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技