我有一个表(在asp.net中生成)与伟大的DataTable jQuery插件一起显示。 我的表有一些可编辑的字段(我使用jQuery Datatables editable),我的一些表中已经有一些自定义字段。
这是一个只有3°列可编辑的表格,可以发送两个额外的参数(我的表格的第3列和第1列):“cell”和“trustedid”。这非常有效:
$('#ctl00_MainContent_tradGrid').dataTable({
bJQueryUI: true,
"sPaginationType": "full_numbers",
"bSortClasses": false
}).makeEditable({
sUpdateURL: "/updateData.aspx<% Response.Write(parameters); %>",
fnOnEditing: function (input) {
cell = input.parents("tr")
.children("td:nth-child(3)")
.text();
trustedid = input.parents("tr")
.children("td:nth-child(1)")
.text();
return true
},
oUpdateParameters: {
cell: function () { return cell; },
trustedid: function () { return trustedid; }
},
oEditableSettings: { event: 'click' }
});
我还有另一个带有最后一个可编辑列复选框的表,也可以正常工作,这是代码:
$('#ctl00_MainContent_tradGrid').dataTable({
bJQueryUI: true,
"sPaginationType": "full_numbers",
"bSortClasses": false
}).makeEditable({
sUpdateURL: "/updateChecked.aspx",
aoColumns: [
{}, {}, {}, {
type: 'checkbox',
submit: 'Ok',
cancel: 'Cancel',
checkbox: { trueValue: 'Yes', falseValue: 'No' }
}
]
});
现在我需要在第二个例子中使用一个自定义参数,但不能这样做!这是我的尝试:
$('#ctl00_MainContent_tradGrid').dataTable({
bJQueryUI: true,
"sPaginationType": "full_numbers",
"bSortClasses": false
}).makeEditable({
sUpdateURL: "/updateChecked.aspx",
fnOnEditing: function (input) {
trustedid = input.parents("tr")
.children("td:nth-child(1)")
.text();
return true
},
oUpdateParameters: {
trustedid: function () { return trustedid; }
},
aoColumns: [
{}, {}, {}, {
type: 'checkbox',
submit: 'Ok',
cancel: 'Cancel',
checkbox: { trueValue: 'Yes', falseValue: 'No' }
}
]
});
但是收到错误:Uncaught ReferenceError: trustedid is not defined
我该怎么做?
答案 0 :(得分:0)
fnOnEditing仅在text,select和textarea上调用:
jquery.dataTables.editable.js中第209行的
if(settings.type == "text" || settings.type == "select" || settings.type == "textarea")
。我使用它与一些自动完成字段,它工作。您可以在该列表中添加复选框,但是您可能还需要其他一些更改,因为复选框上的.val()不会返回正确的值。