gpt4 book ai didi

javascript - 设置日期格式以显示 "Today"/"Tomorrow"而不是 JqxGrid 中的月日

转载 作者:行者123 更新时间:2023-12-02 17:02:53 25 4
gpt4 key购买 nike

我们使用 jqxgrid 在屏幕上显示房间信息。为了便于阅读,我们尝试将日期格式设置为“今天”或“明天”,而不是实际日期(今天或明天......)。

除了重新格式化为“今天”和“明天”之外,一切正常(网格显示了它应该显示的所有内容)。我们尝试使用 moment.js,但不知何故它不起作用。

这是我们的来源:

 datatype: "json",
datafields: [
{name: 'title', type: 'string'},
{name: 'room_name', type: 'string'},
{name: 'room_number', type: 'string'},
{name: 'start', type: 'date', format: "yyyy-MM-dd HH:mm"},
{name: 'end', type: 'date', format: "yyyy-MM-dd HH:mm"},
{name: 'email', type: 'string'},
{name: 'comment', type: 'string'}

...

$("#jqxgrid").jqxGrid(
{
columns: [
{text: 'Raum #', dataField: 'room_number', width: 120},
{text: 'Raum-Name', dataField: 'room_name', width: 340},
{text: 'Von', dataField: 'start', width: 190, cellsalign: 'center', cellclassname: "startdate"},
{text: 'Bis', dataField: 'end', width: 190, cellsalign: 'center', cellsformat: 'dd.MM'},
....

注意:网格单元“VON”中的输出如下所示:Thu Aug 28 2014 16:30:00 GMT+0200 (CEST)

如您所见,开始日期包含在 div 类 startdate 中。

我们尝试通过 JavaScript 重新格式化它:

$(document).ready(function() {
function formatDate(date) {
date.each(function(){
var formattedDate = $(this).text();
var d = moment(formattedDate);
$(this).html( d.format("dddd, MMMM Do"));

});
};

formatDate($('.startdate'));
});

当我们在 jqxgrid外部的 div 上使用它时,效果非常好。然而,它在其中不起作用。有什么想法吗?

更新:这可以解决问题:

 window.setTimeout(function(){
console.log($('.startdate div').innerHTML);
formatDate($('.startdate div'));
}, 2000);

div 是稍后生成的,正如 gp 正确指出的那样。无论如何,是否有更好的解决方案?

最佳答案

您可以将格式化调用添加到网格的就绪函数中:

$("#jqxgrid").jqxGrid(
{
columns: [ ... ],
ready: function() {
formatDate($('.startdate'));
},
....
});

关于javascript - 设置日期格式以显示 "Today"/"Tomorrow"而不是 JqxGrid 中的月日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com