我找不到使用 SPServices 设置 SharePoint 2013 列表日期的有效解决方案。我已经对其他列类型多次执行此操作,但我无法找出日期的正确格式。这就是我正在做的事情:
var testdate = "2016-01-01 00:00:00";
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 4,
valuepairs: [["Due Date", testdate]],
completefunc: function (xData, Status) {
}
});
我也尝试过使用这些测试值,但我的网站上没有任何变化:
var testdate = "2016-1-1 0:0:0";
var testdate = "2016-01-01T00:00:00Z";
var testdate = "2016-1-1T0:0:0Z";
var testdate = "2016-01-01T00:00:00";
var testdate = "2016-1-1T0:0:0";
如果我应该尝试其他日期格式,或者您发现此代码有任何其他问题,请告诉我。当我指向其中一个文本字段时它就起作用了,所以我很确定只是日期格式把事情弄乱了。
最佳答案
UpdateListItems
操作期望在 ISO 8601 format 中提供日期字符串,例如:
var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 1,
valuepairs: [["DueDate", dueDateVal]],
completefunc: function (xData, Status) {
console.log('List items has been updated');
}
});
此外,请确保指定了截止日期
列的正确名称。 UpdateListItems
操作需要一个列 StaticNames 的数组并且必须为valuepairs
指定值。
如果通过 UI 创建了名为 Due Date
的列,则将生成 Due_x0020_Date
静态名称,并且设置其值的操作应如下指定:
var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 1,
valuepairs: [["Due_x0020_Date", dueDateVal]],
completefunc: function (xData, Status) {
console.log('List items has been updated');
}
});
关于javascript - 使用 SPServices UpdateListItems 在 SharePoint 2013 中设置日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636603/