Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 通过单击项在表行之间添加新元素_Angularjs_Angularjs Directive - Fatal编程技术网

Angularjs 通过单击项在表行之间添加新元素

Angularjs 通过单击项在表行之间添加新元素,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一张带有一些项目的表格。我想通过点击项目打开该项目的评论列表。 为此,我使用指令,并将数据附加到我的元素。问题是数据被追加到表的右侧,而不是放在行之间。我试着玩open\closingtrtag,但也没用 我的html页面: <div id="content_people" ng-show="active=='people'" ng-controller="DevsListCtrl"> <table ng-table="tableParams" class="tab

我有一张带有一些项目的
表格
。我想通过点击项目打开该项目的评论列表。 为此,我使用
指令
,并将数据附加到我的
元素
。问题是数据被追加到
表的右侧,而不是放在行之间。我试着玩open\closing
tr
tag,但也没用

我的html页面:

<div id="content_people" ng-show="active=='people'" ng-controller="DevsListCtrl">
    <table ng-table="tableParams" class="table">
        <tr feedback-holder ng-repeat="d in $data">
            <td add-new-team-member data-title='name' data-value="{{d.name}}" bs-tooltip="tooltip">{{d.name}}</td>
            <td data-title='age'>{{d.age}}</td>
            <td data-title='grade'>{{d.grade}}</td>
            <td data-title='job'>{{d.job}}</td>
        </tr>
    </table>
</div>

{{d.name}
{{d.age}
{{d.grade}
{{d.job}
我的js指令:

mainApp.directive("feedbackHolder", ['$compile', 'teamSharedObj', function ($compile, teamSharedObj) {
    return {
        restrict: 'A',
        link: function( scope, element, attrs ) {
            element.bind('click', function() {
                console.log("Click on feedback");
                var el = angular.element('</tr><tr><div><input type="submit" value="Refresh"></div>');
                $compile(el)(scope);
                element.append(el);

            });
        }
    }
}])
mainApp.directive(“feedbackHolder”、['$compile','teamSharedObj',function($compile,teamSharedObj){
返回{
限制:“A”,
链接:函数(范围、元素、属性){
元素绑定('单击',函数(){
日志(“点击反馈”);
var el=角度元素(“”);
美元(el)(范围);
元素。追加(el);
});
}
}
}])

你能给我一个正确的方法吗?谢谢

您可能只需要
colspan
像:

var el = angular.element('</tr><tr><td colspan="4"><input type="submit" value="Refresh"></td>');
var el=angular.element(“”);

如果要在行之间插入新内容,请使用
element.after()
而不是
element.append

element.after(el)

此外,插入的元素应如下所示:

var el=angular.element(“”)


这是一项支出,但内容仍添加到表的右侧,而不是行与行之间。感谢您的帮助!对于下一个问题,要仅添加一个元素,可以在指令返回之前移动
var el=..
。非常好!非常感谢。