我想从 JSON 数据在 DataTables 的记录字段中创建链接
我正在创建一个 dataTables 表,用作生成漫画的网站的页面存档。在该档案页面上,我希望漫画的标题成为该漫画页面的链接。
初始化:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"sAjaxSource": "archive/archive.txt"
} );
} );
</script>
HTML:
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th width="20%">Author</th>
<th width="25%">Title</th>
<th width="25%">Episode</th>
<th width="15%">Date</th>
<th width="15%">Tags</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
JSON 数据:
{ "aaData": [
["Bob","Title One","Episode 1","9/30/2010","tag1,tag2,tag3"],
["Bob","Title One","Episode 2","10/2/2010","tag1,tag2,tag3"],
["Bob","Title One","Episode 3","10/4/2010","tag1,tag2,tag3"],
["Bob","Title Four","Episode 1","10/8/2010","tag1,tag2,tag3"],
["Bob","Title Five","Episode 1","10/11/2010","tag1,tag2,tag3"],
["Bob","Title Six","Episode 1","10/12/2010","tag1,tag2,tag3"],
["Kevin","Title Seven","Episode 1","10/15/2010","tag1,tag2,tag3"],
["Kevin","Title Eight","Episode 1","10/17/2010","tag1,tag2,tag3"],
["Kevin","Title Eight","Episode 2","10/20/2010","tag1,tag2,tag3"],
["Kevin","Title Ten","Episode 1","10/22/2010","tag1,tag2,tag3"],
["Kevin","Title Eleven","Episode 1","10/23/2010","tag1,tag2,tag3"],
["Kevin","Title Twelve","Episode 1","10/24/2010","tag1,tag2,tag3"]
] }
其中“标题一”或“标题四”等将是该漫画页面的链接。诚然,我对数据表没有太多了解,所以如果您可以明确地表达您的解决方案,我们将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您还可以将
mRender
函数与aoColumnDefs
:这更明确并且可能更易于维护,因为您可以指定各个列如何在列级别呈现,而不是通过 DOM 在行级别,这在您稍后添加列时很有帮助。
You could also use the
mRender
function withaoColumnDefs
:This is more explicit and likely more maintainable because you can specify how individual columns render at the column level, rather than selecting them through the DOM at the row level, which helps when you're adding columns later on.
您应该使用
fnRowCallback
选项,请参阅文档。you should use
fnRowCallback
option see documentation.如果使用最新版本
v1.10.16
可以使用render< /code> 函数
回调。
我刚刚更改了渲染函数。
data
仅指当前列数据,而row
对象指整行数据。因此,我们可以使用它来获取该行的任何其他数据。如果您想根据当前列的值进行链接,可以使用
If using the latest version
v1.10.16
can userender
function callback.I have just changed the render function.
data
refers to only current column data, whilerow
object refers to entire row of data. Hence we can use this to get any other data for that row.If you wnat to link based on the value of current column, can use
下面是我在给定 aaData 对象数组中的某个值的情况下,在列单元格中获取更改后的 html 文本所做的操作。这可行,但感觉很糟糕,因为 html 标记位于 javascript 中,如上所述。
Below, is what I did to get altered html text in column cell, given a certain value in the aaData object array. This works, but feels horrible because html markup is in the javascript as above.
我无法得到任何答案来完成我想做的事情。
我想在数据表列中显示 DisplayedColumn,但单击时会随请求一起发送 ID。我也不想显示 ID 列。
以下是我实现这一目标的方法:
遗憾的是,很难找到对我有用的答案,我希望它对某人有所帮助。
I could not get any of the answers to accomplish what I was trying to do.
I wanted to show the DisplayedColumn in the datatable column, but have the ID sent with the request when clicked. I also did not want to display the ID column.
Here is how I achieved this:
This was, sadly, very hard to find an answer that worked for me, I hope it helps someone.