我有一个jQuery datatables插件,可以执行以下操作,
<tr>
<th>Id</th>
<th>Datee</th>
<th>Delete</th>
</tr>
$('#data').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "userlist.php",
"aoColumns": [
null,
null,
{
"mDataProp": null,
"sDefaultContent": '<a href="delete.php?action=activate&">DEL</a>'
}
]
} );
所以我在这里做的是我使用服务器端处理获取数据并添加带有删除记录链接的附加列。
现在我想要id =&lt;&gt;该特定记录将在&amp;结尾添加在一个href中
a href="delete.php?action=activate&id=<<first column value> .
此外,我想将MySQL日期转换为第二列的PHP日期。
如何做到这一点?
感谢。
答案 0 :(得分:1)
您可以使用getData或使用jquery来执行此操作
更改以下内容:
"sDefaultContent": '<a href="delete.php?action=activate&">DEL</a>'
致:
"sDefaultContent": '<a href="delete.php?action=activate&" class="delete">DEL</a>'
然后使用以下代码:
$('#data').on('click', 'td .delete', function() {
var id = $(this).closest('tr').find('td:first').html();
});
<强> Demo 强>
答案 1 :(得分:1)
试试这个:修改里卡多的答案如下:
"sDefaultContent": '<a href="delete.php?action=activate&" class="delete">DEL</a>'
$('#data').on('click', 'td .delete', function(e) {
e.preventDefault()
var id = $(this).closest('tr').find('td:first').html();
var href='delete.php?action=activate&id=' + id;
// $('a.delete', $(this)).attr('href', href);
window.location.href = href;
});
编辑:当表格以HTML格式呈现时,您不需要将id
添加到链接的href属性中。以下代码将通过ajax调用delete.php
脚本,并将id
的值传递给该脚本。
$('#data').on('click', 'td .delete', function(e) {
e.preventDefault()
var id = $(this).closest('tr').find('td:first').html();
$.get("delete.php", {id:id});
});
(然后你需要以某种方式更新显示的数据表 - 这里有API函数:Delete a row of a datatable)。
更新:另一个选择是执行以下操作:
$("a.delete").each(function(){
var id = $(this).closest('tr').find('td:first').html();
var href = "delete.php?action=activate&id=" + id;
$(this).attr('href', href);
});
答案 2 :(得分:0)
使用版本1.8.2,我能够使用mDataProp的函数返回html。在您的情况下,它看起来像:
"mDataProp": function (row) { '<a href="delete.php?action=activate&' + row[0] + '">DEL</a>'; }