我目前正在尝试创建一个具有可编辑列的 DataTable。我能找到的最佳示例位于 DataTables 自己的网站上:http ://www.datatables.net/release-datatables/examples/api/editable.html 。
一切正常,除了我现在唯一的问题是以某种方式捕获用户输入的新值,并且 onblur 通过服务器端发送新值。发送过来的值始终是原始值,而不是用户输入的新值。注意:我使用 handler.ashx 处理程序在服务器端检索新值。
这是我显示数据表的代码:
$(document).ready(function() {
var oTable = $('#example').dataTable({
"sAjaxSource": "displayTable.ashx",
"aoColumns": [
{ "sTitle": "examCode"},
{ "sTitle": "division" },
],
"fnDrawCallback": function() {
$('td').editable( 'handler.ashx', {
"submitdata": function ( value, settings ) {
return {
examCode: $(this).parent().find(":first").text(),
columnPosition: oTable.fnGetPosition( this )[2],
newValue: value
};
},
onblur : "submit",
} );
}
});
});
这是我的 handler.ashx 代码:
public class Handler : IHttpHandler {
public string editExamCode(HttpContext context)
{
String newValue = context.Request.Form.Get("newValue");
}
}
请注意,我“提交”了 onblur 并将值传递给 newValue 变量?始终传递的值始终是原始值,而不是用户输入的新值。
有没有解决的办法?
谢谢 - 任何帮助将不胜感激!