我正在尝试包含一个JQuery数据表扩展,以按日期日期系统对日期进行排序。当我使用CDN file作为来源时,一切正常。但是当我使用它的本地副本时,它根本不起作用。因为我想扩展此函数来处理空值,我需要有一个本地版本。我做错了什么?
这是我的JavaScript订单包括:
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/respond.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui.js"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.15/js/jquery.dataTables.js"></script>
<script src="/Scripts/modernizr-2.6.2.js"></script>
<script type="text/javascript" src="/Scripts/_extensions.js"></script> // this is, where the extension is located
这是我创建数据表的地方,在表的最后(数据表正在工作,但没有按日期排序):
<script type="text/javascript" charset="utf8">
$(document).ready(function () {
$('#table1').DataTable({
columnDefs: [
{ "type": "de_date", targets: 2 }
//,{ type: 'de_date', targets: 1 }
]
});
});
</script>
有谁知道,为什么这会导致问题?
jQuery.validator.methods.date = function (value, element) {
return Globalize.parseDate(value);
};
$.validator.methods.number = function (value, element) {
if (Globalize.parseFloat(value)) {
return true;
}
return false;
};
jQuery(document).ready(function () {
Globalize.culture("de-DE");
});
// Code for the de_date-Sort
jQuery.fn.dataTableExt.oSort['de_date-asc'] = function (a, b) {
var deDatea = a.trim(a).split('.');
var deDateb = b.trim(b).split('.');
if (!isNaN(x) && !isNaN(y)) {
var x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
var y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
if (x == y) { return 0; }
}
if (isNaN(x) || x < y) { return 1; }
if (isNaN(y) || x > y) { return -1; }
};
jQuery.fn.dataTableExt.oSort['de_date-desc'] = function (a, b) {
var deDatea = a.trim(a).split('.');
var deDateb = b.trim(b).split('.');
if (!isNaN(x) && !isNaN(y)) {
var x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
var y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
if (x == y) { return 0; }
}
if (isNaN(y) || x < y) { return -1; }
if (isNaN(x) || x > y) { return 1; }
};