我已经使用jQuery Data表构建了一个表,我想要一个按钮来执行一个函数。
到目前为止,我可以通过按钮输入jquery函数,但它们总是通过参数null传递。
我正在尝试将GoodNumberId传递给函数。
function GetGoods() {
$.post("GetGoods", function (GoodsDS) {
var obj = jQuery.parseJSON(GoodsDS);
var table = obj.Table;
$('#demo').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>');
$('#TableWrapper').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bProcessing": true,
"bDeferRender": true,
"aaData": table
,
"aoColumns": [
{ "mDataProp": "GoodNumberId", "sTitle": "Goods ID" },
{ "mDataProp": "SerialNumber", "sTitle": "Serial Number" },
{ "mDataProp": "Make", "sTitle": "Make" },
{ "mDataProp": "Model", "sTitle": "Model" },
{ "mDataProp": "Description", "sTitle": "Description" },
//{ "mDataProp": "IMEINumber", "sTitle": "IMEINumber" },
{ "mDataProp": "Condition", "sTitle": "Condition" },
// { "mDataProp": "DistinguishingMarks", "sTitle": "DistinguishingMarks" },
// { "mDataProp": "OtherFeatures", "sTitle": "OtherFeatures" },
//{ "mDataProp": "Status", "sTitle": "Status" },
{ "mDataProp": "ItemStatus", "sTitle": "Item Status" },
{ "mDataProp": "Price", "sTitle": "Price" },
{ "mDataProp": "TransactionDate", "sTitle": "Transaction Date" },
//{ "mDataProp": "TransactionTypeId", "sTitle": "TransactionTypeId" },
{"mDataProp": "TransactionDescription", "sTitle": "Transaction" },
{ "mData": null,
"bSortable": false,
"mRender": function (GoodNumberId) { return '<input id="btnDispose" type="button" onclick="Dispose(' + GoodNumberId +')" value="Dispose" />'; }
}
]
});
});
};
表变量如下所示:
我需要每个按钮传递它当前行的ID吗?
答案 0 :(得分:2)
mRender函数有3个参数:
函数 - 只要DataTables执行给定的函数 需要设置或获取列中单元格的数据。功能 有三个参数:
{array | object}行的数据源 (基于mData)
{string}请求的类型呼叫数据 - 这将是 '过滤','显示','类型'或'排序'。
{array | object}完整数据 行的来源(不是基于mData)
所以它所采用的第一个参数是“基于mData”。由于您的mData为null,因此第一个参数为null。
试试这个:
{
"mData": "GoodNumberId",
"bSortable": false,
"mRender": function (sourceData)
{ return '<input id="btnDispose" type="button" onclick="Dispose('
+ sourceData +')" value="Dispose" />'; }
}
修改强> 要包含每条评论的状态,请尝试以下操作:
{
"mData": "GoodNumberId",
"bSortable": false,
"mRender": function (sourceData, dataType, fullData)
{
if (fullData.Status == 'Disposed') // or whatever
return ' ';
else
return '<input id="btnDispose" type="button" onclick="Dispose('
+ sourceData +')" value="Dispose" />'; }
}