Page Summary
-
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 |
|---|---|---|
Choice
|
Creates a new choice. | |
Choice
|
Creates a new choice. | |
Choice
|
Creates a new choice with a page-navigation option that jumps to a given page-break item. | |
Choice
|
Creates a new choice with a page-navigation option. | |
Item
|
Creates a new Item
for this list item. |
|
List
|
Creates a copy of this item and appends it to the end of the form. | |
Choice[]
|
Gets all choices for an item. | |
Quiz
|
Returns the feedback that is shown to respondents when they respond correctly to a question. | |
Quiz
|
Returns the feedback that is shown to respondents when they respond incorrectly to a question. | |
String
|
Gets the item's help text (sometimes called description text for layout items like Image
, Page
, and Section
). |
|
Integer
|
Gets the item's unique identifier. | |
Integer
|
Gets the index of the item among all the items in the form. | |
Integer
|
Returns the point value of a gradeable item. | |
String
|
Gets the item's title (sometimes called header text, in the case of a Section
). |
|
Item
|
Gets the item's type, represented as an Item
. |
|
Boolean
|
Determines whether the respondent must answer the question. | |
List
|
Sets the choices for an item from an array of strings. | |
List
|
Sets an array of choices for an item. | |
List
|
Sets the feedback to be shown to respondents when they respond correctly to a question. | |
List
|
Sets the feedback to be shown to respondents when they respond incorrectly to a question. | |
List
|
Sets the item's help text (sometimes called description text for layout items like Image
, Page
, and Section
). |
|
List
|
Sets the number of points a gradeable item is worth. | |
List
|
Sets whether the respondent must answer the question. | |
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 createChoice(value, navigationType)
with navigationType
set to FormApp.PageNavigationType.GO_TO_PAGE
. 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.
Note that using page navigation on an item hardcodes the routing, meaning showOtherOption(true)
shouldn't be used concurrently.
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 ItemResponse
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
ItemResponse
— 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
ListItem
— a duplicate of this ListItem
, 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
QuizFeedback
|null
— 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
QuizFeedback
|null
— 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 ImageItems
, PageBreakItems
, and SectionHeaderItems
).
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 SectionHeaderItem
).
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
ListItem
— this ListItem
, 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
ListItem
— this ListItem
, 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 (). setText ( 'Dogs rule, cats drool.' ). build (), );
Parameters
| Name | Type | Description |
|---|---|---|
feedback
|
Quiz
|
the new feedback. A null value will clear the feedback. |
Return
ListItem
— this ListItem
, 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
ListItem
— this ListItem
, 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 ImageItems
, PageBreakItems
, and SectionHeaderItems
).
Parameters
| Name | Type | Description |
|---|---|---|
text
|
String
|
the new help text |
Return
ListItem
— this ListItem
, 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
ListItem
— this ListItem
, 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
ListItem
— 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 SectionHeaderItem
).
Parameters
| Name | Type | Description |
|---|---|---|
title
|
String
|
the new title or header text |
Return
ListItem
— this ListItem
, 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

