我创建了一个递归循环来使用 SPServices 删除 SharePoint 列表中的项目。我设置了 5 秒的超时时间;但是由于某种原因,它一次只删除 2 个项目,然后执行等待而不是删除批处理,然后重复该功能。
请在下面找到我的代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.1a/jquery.SPServices-0.7.1a.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$intStart = 1;
$intCount = 10;
$intEnd = 40;
$("input[class='buttonpush']").click(function () {
var looper = function () {
if ($intStart < $intCount && $intStart < $intEnd) {
$().SPServices.SPUpdateMultipleListItems({
webURL: "http://widgettest",
listName: "TestList",
CAMLQuery: "<Query><Where><And><Gt><FieldRef Name='ID' /><Value Type='Counter'>" + $intStart + "</Value></Gt><Lt><FieldRef Name='ID' /><Value Type='Counter'>" + $intCount + "</Value></Lt></And></Where></Query>",
batchCmd: "Delete",
valuepairs: [],
debug: false,
completefunc: function (xData, Status) {
$intStart = $intStart + 5;
$intCount = $intCount + 5
setTimeout(looper, 5000);
}
});
}
else {
}
}
looper();
});
});
</script>