javascript - Kendo UI Grid 长日期更新

标签 javascript jquery kendo-ui

在我的网格中,我有一个包含以下参数的日期列:

update: {
            url: ROOT+"user/update-user",
            type: "POST"
        }

columns: [
    {...},
    {
        field: "DoB",
        width: 68,
        title: "DoB",
        format: "{0:dd/MM/yyyy}",
        template: '#= kendo.toString(DoB,"dd/MM/yyyy") #'
    },
    {...}

datasource: {
    ...
    schema: {
        model: {
            DoB: {type: "date", editable: false, format: "{0:dd/MM/yyyy}"},
        }
    }
}

问题是,当我尝试更新日期列时,它发送的是一个非常长的日期,而不是 SQL 样式日期“YYYY-MM-DD”:

Wed Jan 09 2003 00:00:00 GMT +0000 etc

知道是什么原因造成的吗?

最佳答案

原因是因为当 KendoUI 即将向服务器发送数据时,它会将您的数据序列化为 string 并且 date 类型的默认序列化为 long 格式。

您可以通过将 transport.update 定义为以下方式来调整数据以将其发送到服务器:

update: {
    url : ROOT + "user/update-user",
    type: "POST",
    data: function (data) {
        data.DoB = kendo.toString(data.DoB, "yyyy-MM-dd");
        return data;
    }
},

注意您可能需要一些额外的验证以确保实际定义了DoB

关于javascript - Kendo UI Grid 长日期更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314060/

相关文章:

javascript - 模块模式和闭包讨论

jquery - kendo数据源服务器分页和json格式的总计

kendo-ui - 如何将参数传递给剑道网格列模板中的 javascript?

Javascript - 对 parent 的 parent 打电话 super ?

javascript - 如何在 Angular 中设置属性的值?

php - 如何保存 portlet 位置

javascript - jquery promise 不会触发

javascript - ¿调整打开的剑道窗口的大小?

javascript - 有没有办法获取 CSS 属性的所有有效关键字?

javascript - jquery setTimeout 关于它的几个问题