我在使用 JQuery Datatables 的表的标题内有一个问号。我尝试禁用排序(这并不理想),但我的图像不会触发 onclick 事件。
本质上,DataTables 劫持了整个单元格。
有谁知道我怎样才能让数据表只使用单元格内的文本或跨度,这样我仍然可以在其 onclick 事件中留下问号,并使用 DataTables 进行排序?
我在html头中有这个:
$(function() {
$('#dcsales').dataTable(
{
"aoColumns": [
{ "bSortable": false },
null,
{ "bSortable": false },
null,
null,
{ "bSortable": false },
{ "bSortable": false }
]
}
);
});
我在表头中有这个:
<thead>
<tr>
<td><span id="qa_one"><img id="qa_one_t" src="img/question.png"/></span>Col 1</td>
<td> Col Two</td> ...
</tr>
</thead>
使用萤火虫,我可以看到 DataTables 将一个类插入到 td. 我想将生成的类插入到具有某个类的跨度中,所以我的标题单元格可能看起来像这样。
<td><span id="qa_one"><img id="qa_one_t" src="img/question.png"/></span><span class="datatables">Col 1</span></td>
我在他们的网站上阅读文档和论坛帖子,但找不到任何相关信息。
编辑
基于以下帖子 Jquery datatable with checkbox in header and in row: select all checkbox not working
这也让我看到了这个 http://datatables.net/usage/columns
我将 head 部分中的脚本更改为以下内容以及 html 中的所有内容:
$(function() {
$('#dcsales').dataTable(
{
"aoColumns": [
{ "bSortable": false, "sTitle": "<span id='qa_one><img id='qa_one_t' src='img/question.png'/></span><span>Col One</span>", "mDataProp":null },
null,
{ "bSortable": false },
null,
null,
{ "bSortable": false },
{ "bSortable": false }
]
}
);
});
但这并没有什么不同,html标记是正确生成的,但是当我单击图像时,光标会单击整个单元格。
以下是更改后生成的标记的样子:
<td class="sorting_disabled" tabindex="0" rowspan="1" colspan="1" style="width: 142px;" aria-label="Col One">
<span id="qa_points">
<span>Type of Points</span>
</td>