angularjs实现table增加tr
来源:互联网 发布:广东省软件企业评估 编辑:程序博客网 时间:2024/05/20 16:34
需求:

上面是一个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>
这样就可以完成我们的初始要求,不过可以在上面稍微改动下,会实现更棒的功能,下面一行可以自动收缩:
阅读全文
0 0
- angularjs实现table增加tr
- table内增加tr
- table对tr增加删除的操作
- Angularjs中table中实现点击td中按钮不触发tr的点击事件
- Table实现tr数据滚动
- jquery实现递归table-tr
- jquery 实现增加一行tr,删除一行tr
- js动态控制table的tr,td增加及删除
- js动态增加,删除td,tr,table,div
- js对table操作(增加删除交换上下TR)
- JQuery实现table的排序(tr)
- Table中删除Tr的JS实现
- Table动态添加数据实现tr滚动
- js实现table添加行tr、删除行tr、清空行tr
- javascript 实现 table 增加行
- Jquery 实现html table 行 Tr 的复制
- html中嵌套php实现隐藏table中tr
- jQuery实现动态添加tr到table的方法
- 如何制作离线地图?这里介绍一个轻松制作离线地图的利器!
- centos7 最小化安装后无法上网,需要先开启网络服务
- 磁盘管理
- 最长递增子序列(模板)
- JZOJ1218. 黑匣子(2017年8月B组)
- angularjs实现table增加tr
- Struts2源代码查看
- wx.ClientDC在窗口最小化之后所画内容消失的问题探讨
- HDU-1029-Ignatius and the Princess IV
- 刷题——Fence Repair POJ
- 教你如何使用Linux做开机自动运行【树莓派】
- Linux ALSA声卡驱动之一:ALSA架构简介
- 暑假集训 第N天 T2 Number
- mysql中的时间戳和日期时间的转换