我使用带有可编辑和过滤插件的tablesorter。 此外,我使用寻呼机(不认为它相关)。
现在我的页面上有一个按钮,用于打开表格以向表格添加新行。但是我首先使用ajax调用更新数据库,如下所示:
function ajaxUpdateDb(action, record) {
var postdata = JSON.stringify(
{
"Table": $(".tablesorter").attr("id"),
"Action": action,
"Record": record
});
try {
$.ajax({
type: "POST",
url: "../ajax/UpdateData.ashx",
cache: false,
data: postdata,
dataType: "json",
success: getSuccess,
error: getFail,
async: true
});
} catch (e) {
displayMessage(e.message, "alert alert-danger");
}
function getSuccess(data) {
$(".tablesorter").trigger('cancel');
if (data && data.Success) {
record.ID = data.Id;
displayMessage(data.Message, "label label-success");
updateTable(action, record);
} else if (data) {
displayMessage(data.Message, "alert alert-danger");
} else {
displayMessage("operation failed, unknwon error", "alert alert-danger");
}
};
function getFail(jqXhr) {
document.write(jqXhr.responseText);
};
}
然后,在返回ajax调用时,我实际上将行添加到html表中,如下所示:
$('.tablesorter tbody').append(toHtml(record));
$('.tablesorter').trigger('update', true);
toHtml(record)函数为具有唯一ID的行创建html代码(选中)。
该行已正确添加到表中,过滤和排序有效,但是...行不可编辑,其他行仍可编辑。
如何让我新添加的行可编辑?
答案 0 :(得分:1)
我的解决方案是将可编辑列定义为数组而不是文本: editable_columns:[0,1,2,3,4]