【发布时间】:2016-07-08 09:38:23
【问题描述】:
我有一个可排序的数据表,其中填充了数据,您可以在单击它时编辑数据。
点击前是这样的:
<input type='text' value='...' size=3 disabled>
点击时:
$('#table1 tbody').on( 'click', 'tr', function ()
{
var olddata = "";
olddata = table.cell( this, 3 ).data();
table.cell( this, 3 ).data( "<input type='text' value='" + olddata + "' size=3 style='background-color:white'>" );
});
但是,当您单击一行时,它会改变位置,因为它现在还包含额外的 html 代码,如果这是活动的排序列,它会在底部或顶部结束。
我排序使用:
var columnSet =
[
...
{title: "Mycolumn", width:"1%", "type": "string"},
...
];
所以我的问题是,是否可以在单击一行时暂时禁用整个表格中的排序,然后在完成编辑时再次启用,或者根据值属性进行排序?
【问题讨论】:
-
对于数据表,您需要提及特定列是否应该是可排序的。如果您不想对任何列进行排序,您可以将所有列设置为 false。属性名称是“aoColumns”。
-
是的,但我希望能够对它们进行排序,而不是当用户单击编辑行时。
-
很难改变数据表的排序行为,因为您必须重新初始化数据表。如果您使用引导程序,建议不要进行内联编辑并将用户重定向到不同的页面或使用引导程序模式来编辑行。
标签: javascript jquery html datatables