【发布时间】:2017-06-27 12:23:59
【问题描述】:
在我的角度页面上,我有三个手风琴。每个都加载一个组件视图,其中包含一个动态生成的表。这意味着,我在整个页面上都有表一、二和三。每个表的上方是一个用于访问该表的 JQuery 部分。实际上,我通过 css 类(例如 table.scrolling-table)查找表来做到这一点。
这适用于第一个表,因为代码只能找到页面上的第一个表(但我有三个不同的表)。
每个表都有一个名为dataTable_{{$ctrl.entry.id}} 的动态ID。
现在我想用 JQuery 调用访问这个 id。
如何在组件内的 JQuery 表中应用动态 id?
Angular 组件视图
<table id="dataTable_{{$ctrl.entry.id}}" class="table scrolling-table">
<tr>...</tr>
</table>
<script>
bodyColumnWidth(){
var $table = $('table.scrolling-table'); // this is actually
var $table = $('#dataTable_' + entry.id); // i need something like this
}
headColumnWidth(){
var $table = $('table.scrolling-table'); // this is actually
var $table = $('#dataTable_' + entry.id); // i need something like this
}
$(function() {
bodyColumnWidth();
headColumnWidth();
});
$(window).resize(function() {
bodyColumnWidth();
headColumnWidth();
}).resize();
</script>
【问题讨论】:
-
与 Angular 应用程序中的所有 dom 相关代码一样,您可以使用指令来访问元素。你到底需要做什么?
-
我在 window.resize.event 上调整列大小。这与可滚动的数据表有关。如果我使用类似 datatables-node-module 的东西,也会出现同样的问题。所有存在的东西都需要一个我无法在角度代码中添加的 html 对象上的修复 id。这真是一件令人沮丧的事情......
-
所有应该在指令中完成。听起来应用程序设计有缺陷。建议阅读“Thinking in AngularJS” if I have a jQuery background?
标签: javascript jquery html angularjs