AI-generated Key Takeaways
-
ListItem is a question type in Google Forms allowing respondents to select one choice from a drop-down list.
-
You can create and access ListItem objects from a Form object using
FormApp.openById()andform.addListItem(). -
ListItem objects have methods to create choices, set choice values, get and set the title and help text, and determine if the question is required.
-
Feedback for correct and incorrect answers can be set for ListItem questions.
-
ListItem objects can be duplicated using the
duplicate()method.
A question item that allows the respondent to select one choice from a drop-down list. Items can
be accessed or created from a Form.
// Open a form by ID and add a new list item. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const item = form.addListItem(); item.setTitle('Do you prefer cats or dogs?').setChoices([ item.createChoice('Cats'), item.createChoice('Dogs') ]);
Methods
| Method | Return type | Brief description |
|---|---|---|
create | Choice | Creates a new choice. |
create | Choice | Creates a new choice. |
create | Choice | Creates a new choice with a page-navigation option that jumps to a given page-break item. |
create | Choice | Creates a new choice with a page-navigation option. |
create | Item | Creates a new Item for this list item. |
duplicate() | List | Creates a copy of this item and appends it to the end of the form. |
get | Choice[] | Gets all choices for an item. |
get | Quiz | Returns the feedback that is shown to respondents when they respond correctly to a question. |
get | Quiz | Returns the feedback that is shown to respondents when they respond incorrectly to a question. |
get | String | Gets the item's help text (sometimes called description text for layout items like Image, Page, and Section). |
get | Integer | Gets the item's unique identifier. |
get | Integer | Gets the index of the item among all the items in the form. |
get | Integer | Returns the point value of a gradeable item. |
get | String | Gets the item's title (sometimes called header text, in the case of a Section). |
get | Item | Gets the item's type, represented as an Item. |
is | Boolean | Determines whether the respondent must answer the question. |
set | List | Sets the choices for an item from an array of strings. |
set | List | Sets an array of choices for an item. |
set | List | Sets the feedback to be shown to respondents when they respond correctly to a question. |
set | List | Sets the feedback to be shown to respondents when they respond incorrectly to a question. |
set | List | Sets the item's help text (sometimes called description text for layout items like Image, Page, and Section). |
set | List | Sets the number of points a gradeable item is worth. |
set | List | Sets whether the respondent must answer the question. |
set | List | Sets the item's title (sometimes called header text, in the case of a Section). |
Detailed documentation
createChoice(value)
Creates a new choice.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
createChoice(value, isCorrect)
Creates a new choice.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
is | Boolean | whether the choice is a correct answer |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
createChoice(value, navigationItem)
Creates a new choice with a page-navigation option that jumps to a given page-break item. This
is equivalent to create with navigation set to Form. Choices that use page
navigation cannot be combined in the same item with choices that do not use page navigation.
The page navigation occurs after the respondent completes a page that contains the option, and only if the respondent chose that option. If the respondent chose multiple options with page-navigation instructions on the same page, only the last navigation option has any effect. Page navigation also has no effect on the last page of a form.
Parameters
| Name | Type | Description |
|---|---|---|
value | String | the choice's value, which respondents see as a label when viewing the form |
navigation | Page | the item to navigate to |
Return
Choice — the new choice
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
createResponse(response)
Creates a new Item for this list item. Throws an exception if the response argument does not match a valid choice for this item.
Parameters
| Name | Type | Description |
|---|---|---|
response | String | a valid answer for this list item |
Return
Item — the item response
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
duplicate()
Creates a copy of this item and appends it to the end of the form.
Return
List — a duplicate of this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getChoices()
getFeedbackForCorrect()
Returns the feedback that is shown to respondents when they respond correctly to a question.
Return
Quiz — the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getFeedbackForIncorrect()
Returns the feedback that is shown to respondents when they respond incorrectly to a question.
Return
Quiz — the feedback, if any.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getHelpText()
Gets the item's help text (sometimes called description text for layout items like Image, Page, and Section).
Return
String — the item's help text or description text
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getId()
Gets the item's unique identifier.
Return
Integer — the item's ID
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getIndex()
Gets the index of the item among all the items in the form.
Return
Integer — the index of the item
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getPoints()
Returns the point value of a gradeable item.
Return
Integer — the number of points a question is worth.
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getTitle()
Gets the item's title (sometimes called header text, in the case of a Section).
Return
String — the item's title or header text
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getType()
isRequired()
Determines whether the respondent must answer the question.
Return
Boolean — whether the respondent must answer the question
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setChoiceValues(values)
Sets the choices for an item from an array of strings. Throws an exception if the given array is empty.
// Open a form by ID and add a new list item. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const item = form.addListItem(); item.setTitle('Do you prefer cats or dogs?'); item.setChoiceValues(['Dogs', 'Cats']);
Parameters
| Name | Type | Description |
|---|---|---|
values | String[] | the array of choice values, which respondents see as labels when viewing the form |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setChoices(choices)
Sets an array of choices for an item. Throws an exception if the given array is empty or
contains a null element.
// Open a form by ID and add a new list item. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const item = form.addListItem(); item.setTitle('Do you prefer cats or dogs?'); item.setChoices([item.createChoice('Cats'), item.createChoice('Dogs')]);
Parameters
| Name | Type | Description |
|---|---|---|
choices | Choice[] | an array of choices |
Return
List — this List, for chaining
Throws
Error — if the given array is null, empty, or contains a null element
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setFeedbackForCorrect(feedback)
Sets the feedback to be shown to respondents when they respond correctly to a question.
// Open a form by ID and add a new list item. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const item = form.addListItem(); item.setTitle('Do you prefer cats or dogs?'); // Set "Dogs" as the correct answer to this question. item.setChoices([ item.createChoice('Dogs', true), item.createChoice('Cats', false), ]); // Add feedback which will be shown for correct responses; ie "Dogs". item.setFeedbackForCorrect( FormApp.createFeedback().setDisplayText('Dogs rule, cats drool.').build(), );
Parameters
| Name | Type | Description |
|---|---|---|
feedback | Quiz | the new feedback. A null value will clear the feedback. |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setFeedbackForIncorrect(feedback)
Sets the feedback to be shown to respondents when they respond incorrectly to a question.
Parameters
| Name | Type | Description |
|---|---|---|
feedback | Quiz | the new feedback |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setHelpText(text)
Sets the item's help text (sometimes called description text for layout items like Image, Page, and Section).
Parameters
| Name | Type | Description |
|---|---|---|
text | String | the new help text |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setPoints(points)
Sets the number of points a gradeable item is worth. The default for new items is 0.
Parameters
| Name | Type | Description |
|---|---|---|
points | Integer | the number of a points a question item is worth |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setRequired(enabled)
Sets whether the respondent must answer the question.
Parameters
| Name | Type | Description |
|---|---|---|
enabled | Boolean | whether the respondent must answer the question |
Return
List — the current item (for chaining)
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setTitle(title)
Sets the item's title (sometimes called header text, in the case of a Section).
Parameters
| Name | Type | Description |
|---|---|---|
title | String | the new title or header text |
Return
List — this List, for chaining
Authorization
Scripts that use this method require authorization with one or more of the following scopes:
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms