Jquery – 添加到数据表的超链接
使用DataTable插件我能够很好地生成一个表但是我希望在其中一个列上链接到另一个页面的自定义超链接但是从行的其余部分获取信息…例如在第1行中我想要一个超链接: http:// url /?data [ ‘imdata’] [i] [‘faultInst’] [“attributes”] [“code”]或类似的东西。 我从其他表格中看到了很多复杂的例子,但却无法让它发挥作用。 寻找最简单的解决方案,因为这是一个侧面项目,我需要它完成。
$(document).ready(function(){ $.getJSON('/static/faults.json', function (data) { var test = $('#table5').DataTable({ }); var tr; for (var i = 0; i < data["totalCount"]; i++) { test.row.add([ data['imdata'][i]['faultInst']["attributes"]["code"], data['imdata'][i]['faultInst']["attributes"]["cause"], data['imdata'][i]['faultInst']["attributes"]["descr"], data['imdata'][i]['faultInst']["attributes"]["created"], data['imdata'][i]['faultInst']["attributes"]["changeSet"], data['imdata'][i]['faultInst']["attributes"]["childAction"], data['imdata'][i]['faultInst']["attributes"]["dn"], data['imdata'][i]['faultInst']["attributes"]["domain"], data['imdata'][i]['faultInst']["attributes"]["highestSeverity"], data['imdata'][i]['faultInst']["attributes"]["lastTransition"], data['imdata'][i]['faultInst']["attributes"]["lc"], data['imdata'][i]['faultInst']["attributes"]["occur"], data['imdata'][i]['faultInst']["attributes"]["origSeverity"], data['imdata'][i]['faultInst']["attributes"]["prevSeverity"], data['imdata'][i]['faultInst']["attributes"]["rule"], "test", //data['imdata'][i]['faultInst']["attributes"]["Severity"], data['imdata'][i]['faultInst']["attributes"]["subject"], data['imdata'][i]['faultInst']["attributes"]["type"], //data['imdata'][i]['faultInst']['attributes']["ack"] "test", "test" ]) } test.draw(); }); });
当您有这样的设置时,只需避免定义data
,您就可以获得适当的值,您可以将其转换为链接。 dataTables知道它应该通过targets
传递给渲染函数的数据。 示例:
var table = $('#example').DataTable({ columnDefs : [ { targets : [0], render : function(data) { return 'https://stackoverflow.com/questions/34024933/jquery-add-hyperlink-to-datatables/'+data+'' } } ] }) table.row.add(['https://example.com', 'david', 'programmer']).draw()