使用JQuery DataTables插件,我使用mRender为动态添加的行添加按钮。这部分工作得很好,但是如何获取按钮添加到当前行的rowID?我需要这个来为按钮创建唯一的ID。
我需要用什么代替????在下面的代码中?
JavaScript的:
$('#example').dataTable({
"aoColumns": [
{ "sTitle": "Person", "mData": "Person" },
{
"sTitle": "Buttons", "mData": "Buttons", "mRender": function () {
var rowID = ?????;
btnD = '<button id="btnDepth' + rowID + '" data-keyindex="' + rowID + '" data-type="Depth" data-action="Show" class="addDepthGraph" title="Show Depth">D</button>';
btnG = '<button id="btnGraph' + rowID + '" data-keyindex="' + rowID + '" data-type="Graph" data-action="Show" class="addDepthGraph" title="Show Graph">G</button>';
var returnButton = btnD + btnG;
return returnButton;
}
}
],
"bPaginate": false
});
$("#addRowOptions").click(function () {
rowindex = $('#example').dataTable().fnGetData().length;
obj = [{Person:'PersonA', Buttons: ''}];
$('#example').dataTable().fnAddData(obj);
});
答案 0 :(得分:3)
好的,我找到了一个解决方法。虽然这不是完美的解决方案,但确实有效。我现在将网格中的总行数传递给mRender函数作为rowID。
$('#example').dataTable({
"aoColumns": [
{ "sTitle": "Person", "mData": "Person" },
{
"sTitle": "Buttons", "mData": "Buttons", "mRender": function (rowIndex) {
alert(rowindex);
btnD = '<button id="btnDepth' + rowindex + '" data-keyindex="' + rowindex + '" data-type="Depth" data-action="Show" class="addDepthGraph" title="Show Depth">D</button>';
btnG = '<button id="btnGraph' + rowindex + '" data-keyindex="' + rowindex + '" data-type="Graph" data-action="Show" class="addDepthGraph" title="Show Graph">G</button>';
var returnButton = btnD + btnG;
return returnButton;
}
}
],
"bPaginate": false
});
$("#addRowOptions").click(function () {
rowindex = $('#example').dataTable().fnGetData().length;
obj = [{Person:'PersonA', Buttons: rowindex}];
$('#example').dataTable().fnAddData(obj);
});
我仍然想知道:是否有可能从mRender函数中获取当前行索引?怎么会这样做?
答案 1 :(得分:3)