【发布时间】:2016-08-22 10:25:45
【问题描述】:
每当单击数据表的列时,我都必须打开一个新链接。这是我的数据表代码,它通过 ajax 调用获取数据-
<table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="featuretable row-border compact hover" >
<thead >
<!--change style of column with css-->
<tr>
<th class="Header">Feature</th>
<th class="Header">ID</th>
<th class="Header">Log</th>
<th class="Header">Location</th>
</tr>
</thead>
</table>
这是我正在尝试的 Jquery 代码 -
$('.featuretable tbody').on('click', 'tr', function () {
console.log(table.row(this).data());
var data = table.row(this).data();
alert('You clicked on ' + data[1] + '\'s row');
});
css文件读取-
.Header {
border-bottom: 2px solid #6f7277;
padding: 3px 15px;
text-align: left;
color: #4b4a4a;
overflow: hidden;
}
table.featuretable {
table-layout: fixed;
width: 100%;
font-family: Helvetica, Arial, sans-serif;
margin-top: 20px;
margin-bottom: 20px;
border-collapse: collapse;
border-spacing: 0;
}
table.featuretable td,
th {
border: 1px solid transparent;
height: 30px;
transition: all 0.3s;
overflow: hidden;
}
table.featuretable th {
font-weight: bold;
text-align: center;
vertical-align: :middle;
}
table.featuretable td {
text-align: center;
vertical-align: :middle;
}
table.featuretable tr:nth-child(even) td {
background: #f3f7fb;
}
table.featuretable tr:nth-child(odd) td {
background: #ffffff;
}
点击时,chrome 给出错误 "ReferenceError: table is not defined" 。有人知道怎么做吗 ?
【问题讨论】:
-
你能给我更多关于你正在使用的
table类的信息吗?我不熟悉它。 -
我已经添加了css代码。
-
我的错。我说的是您尝试在
console.log( table.row( this ).data() );使用的jstable类。它是数据表的一部分吗?还是你之前定义的? -
不。那是我错的部分。在 jquery 中,我们通常定义 (#table).datatable,然后它可以工作,但在 Angular 中,我们所要做的就是在 table 标记中说 datatable。简而言之,不,我还没有定义表类。 Table.row 应该只是一个 jquery 函数。
-
查看您的代码,您正在引用“表”。这是在哪里定义的?我们可能需要查看更多您的 JS 代码,或者制作一个 jsbin/plunkr。
标签: jquery angularjs datatables