sympmarc/SPServices

View on GitHub
docs/value-added/SPUpdateMultipleListItems.md

Summary

Maintainability
Test Coverage
---
title: 'SPUpdateMultipleListItems'
function: '$().SPServices.SPUpdateMultipleListItems'
certification:
  sp2007: 'certified'
  sp2010: 'certified'
description: 'SPUpdateMultipleListItems allows you to update multiple items in a list based upon some common characteristic or metadata criteria.'
introduced: 0.5.8
---

## Functionality

SPUpdateMultipleListItems allows you to update multiple items in a list based upon some common characteristic or metadata criteria.

**IMPORTANT NOTE:** The first iterations of this function only worked with lists, not Document Libraries. As of [v0.6.1](http://spservices.codeplex.com/releases/view/62021), it works with Document libraries as well.

## How Does It Work?

The SPUpdateMultipleListItems function works like this:

*   It first calls GetListItems with the provided CAMLQuery to find all off the items which meet the criteria
*   Then the function calls UpdateListItems and updates all of the items found with the values provided

## Prerequisites

None

## Syntax

``` javascript
$().SPServices.SPUpdateMultipleListItems({
  webURL: "",
  listName: "",
  CAMLQuery: "",
  batchCmd: "Update",
  valuepairs: [],
  debug: false,
  completefunc: null
});
```

### webURL

The URL of the Web (site) which contains the list. If not specified, the current site is used. Examples would be: `"/"`, `"/Accounting"`, `"/Departments/HR"`, etc. **Note**: It's always best to use relative URLs.

### listName

The name or GUID of the list. If you choose to use the GUID, it should look like: `"{E73FEA09-CF8F-4B30-88C7-6FA996EE1706}"`. Note also that if you use the GUID, you do not need to specify the webURL if the list is in another site.

### CAMLQuery

The CAMLQuery option allows you to specify the filter on the list. CAMLQuery here should contain valid CAML such as:

``` javascript
CAMLQuery: "<Query><Where><Eq><FieldRef Name='Status'/><Value Type='Text'>Active</Value></Eq></Where></Query>"
```

### batchCmd

The batchCmd option specifies what the action should be. The choices are `"Update"` or `"Delete"`. `"Update"` is the default.

### completefunc

If specified, the completefunc will be called each time there is a change to parentColumn. Potential uses for the completefunc: consistent default formatting overrides, additional lookup customizations, image manipulations, etc. You can pass your completefunc in either of these two ways:

``` javascript
completefunc: function() {
  ...do something...
},
```

or

``` javascript
completefunc: doSomething, // Where doSomething is the name of your function
```

### debug

Setting `debug: true` indicates that you would like to receive messages if anything obvious is wrong with the function call, like using a column name which doesn't exist. I call this [debug mode](../glossary.md#debug-mode).

**NOTE**: Debug mode is not implemented in the initial release of SPUpdateMultipleListItems in v0.5.8.

## Examples

``` javascript
$().SPServices.SPUpdateMultipleListItems({
  listName: "States",
  CAMLQuery: "<Query><Where><Eq><FieldRef Name='Status'/><Value Type='Text'>Active</Value></Eq></Where></Query>",
  valuepairs: [["Status", "Inactive"]]
});
```

This call to SPUpdateMultipleListItems will update all of the items in the States list which have their Status = "Active", setting their Status = "Inactive".

``` javascript
$().SPServices.SPUpdateMultipleListItems({
  listName: "States",
  CAMLQuery: "<Query><Where><Eq><FieldRef Name='Status'/><Value Type='Text'>Inactive</Value></Eq></Where></Query>",
  batchCmd: "Delete"
});
```

This call to SPUpdateMultipleListItems will delete all of the items in the States list which have their Status = "Inactive".