This article mainly shares with you the method of adding tr to table in angularjs. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor to take a look, I hope it can help everyone.
Requirements:
The above is a table, using
<tr ng-repeat="rule in formData.ruleList track by $index">
to display in a loop. One of the current requirements is that a field needs to be added to each row, but it cannot be displayed on the same row and needs to be displayed on the next row. I first thought of adding it directly, but there was no way to change the line. It won't do to add another one below. You can only rely on powerful angulajs and custom instructions. Let's get started.
1 Custom instructions
.directive( 'kbnTableRow', function($compile) { return { restrict : 'A', link : function(scope, element) { element.after('<tr>'); function expressDescHtml() { var detailHtml = '<td></td><td colspan="5">' + '<p ng-show="rule.type!==1">' + '<p class="col-xs-9 row">' + ' <input type="text" class="form-control" ng-model="rule.exprDesc"readonly ">' + '</p>' +'</p>' + '</td>'; return detailHtml; } }, templateUrl : 'libs/kbnTable/table_row/rule.html' }; });
2 rule.html is the original content
<td class="form-control-static"> <p class="form-control-static">{{$index+1}}</p> </td> <td> <p class="form-control-static" ng-show="rule.type===1" style="text-align: -webkit-left;">   {{rule.rightVar.desc}}</p> <p ng-show="rule.type!==1"> <p class="col-xs-9 row"> <input type="text" class="form-control" ng-model="rule.rightVar.desc" readonly title="{{rule.rightVar.desc}}"> </p> <p class="col-xs-3 "> <button class="btn btn-warning" ng-click="showRightVar(rule,'rightVar')">设置</button> </p> </p> </td> <td class="form-control-static" ng-show="formData.execType == 't02'"> <p class="form-control-static" style="padding-top: 0;"> <input type="text" class="form-control" ng-model="rule.score" title="{{rule.score}}" /> </p> </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>
No need to change, whatever is the original, just write it here.
3 Rewrite the tr loop part in the initial page with our new command:
<p class="row"> <p class="col-xs-12 row"> <h4 class="col-xs-12"> <b>表达式设置</b> </h4> </p> <p class="col-xs-12"> <p class="row"> <p 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> </p> <p class="col-xs-1"> <button class="btn btn-info" ng-click="addRule()">新增</button> </p> </p> </p>
This way we can complete our initial requirements, but we can make a slight change above to achieve better results. function, the following row can be automatically shrunk:
##Related recommendations:table enables double-clicking to edit, add, and delete rows
Detailed explanation of jQuery getting the value of a certain column of Table
JQuery implementation of table sorting function example sharing
The above is the detailed content of How to add tr to table in angularjs. For more information, please follow other related articles on the PHP Chinese website!