【发布时间】:2020-03-19 06:54:02
【问题描述】:
我正在尝试在跳过空条目的同时对数据表中的电子邮件列进行排序,下面是代码 sn-p。我在 Datatable js files 之后添加了此代码。
<script>
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"non-empty-string-asc": function (str1, str2) {
if(str1 == "")
return 1;
if(str2 == "")
return -1;
return ((str1 < str2) ? -1 : ((str1 > str2) ? 1 : 0));
},
"non-empty-string-desc": function (str1, str2) {
if(str1 == "")
return 1;
if(str2 == "")
return -1;
return ((str1 < str2) ? 1 : ((str1 > str2) ? -1 : 0));
}
} );
var dataTable = $('#example').dataTable({
columnDefs: [
{type: 'non-empty-string', targets: ['email']} // define 'name' column as non-empty-string type
]
});
</script>
以下是我的列名
$columns = array(
array( 'db' => 'country', 'dt' => 0 ),
array( 'db' => 'city', 'dt' => 1 ),
array( 'db' => 'name', 'dt' => 2 ),
array( 'db' => 'contact1', 'dt' => 3),
array( 'db' => 'contac2', 'dt' => 4 ),
array( 'db' => 'email', 'dt' => 5),
array( 'db' => 'project', 'dt' => 6 ),
array( 'db' => 'national', 'dt' => 7),
array( 'db' => 'developer', 'dt' => 8 ),
);
上面的代码没有对要求的问题进行排序,也尝试通过索引,但没有奏效,请指教。
【问题讨论】:
-
你的意思是根本没有排序发生,或者它没有按照你想要的顺序发生?浏览器控制台有什么要说的吗? “以下是我的列名” - 不是很有帮助,您需要向我们展示您实际上是从这些数据中制作什么。
-
一旦数据被排序,我希望空行在最后显示它们在排序时显示在开始或中间
标签: javascript php jquery sorting datatable