<CHOICE NAME=card_name
    MARKABLE=boolean
    TITLE=cardtitle
    BOOKMARK=markURL
    KEY=varname
    IKEY=varname
    METHOD=choice_method
    DEFAULT=defaultval
    IDEFAULT=defaultnum>

    actions
    display_content

    <CE VALUE=val task>
    <CE VALUE=val task>
    ...
	
</CHOICE>

Choice cards display some text followed by a list of items from which the user can choose a single item, called a choice entry. To define a choice card, you use a <CHOICE> statement. The statement must include one or more <CE> statements defining the items on the list.

Syntax

NAME=card_name   A name for the card. Other cards can specify this name as a destination.  
MARKABLE=boolean   Flag specifying whether the card can be marked. To allow the card to be marked, specify TRUE. The default value is determined by the MARKABLE option for the deck (see <HDML>). Always set the MARKABLE option to FALSE for cards that execute or confirm transactions that the user might not want to repeat. If you set the MARKABLE option to TRUE, it implicitly sets the PUBLIC option to TRUE, allowing other URLs to link directly to the card.  
TITLE=cardtitle   The default bookmark name that appears when the user marks the card.  
BOOKMARK=markURL   The URL the phone adds to the bookmark list if the user marks the card. If you do not specify the BOOKMARK option, the phone adds the URL of the current card to the bookmark list.  
KEY=varname   The name of the variable that gets the value (if any) of the chosen item.  
IKEY=varname   The name of a variable containing an index number. The phone uses the index number to set the default item. The number 1 specifies the first item, 2 specifies the second item, and so on. For example, if var_name is myvar and the value of myvar is 2, the second item is the default item. If you don't specify the IKEY option or the IDEFAULT option, the first item is the default. When the user chooses an item, the phone sets the variable specified by IKEY to the number of the chosen item.  
METHOD=choice_method   The choice method. To make the list numbered, specify NUMBER. If the list is numbered, the user can choose an item by pressing the item's number or by scrolling to it and pressing a key. To make the list unnumbered, specify ALPHA. If the list is unnumbered, the user can choose an item only by scrolling to it and pressing ACCEPT. If you do not specify the METHOD option at all, the choice method defaults to NUMBER. Note that the phone will number only the first nine items in the list.  
DEFAULT=defaultval   The default value of the variable specified by the KEY option. If the variable specified by the KEY option does not have a value when the card is first displayed, the phone assigns it the value specified by the DEFAULT option. If the variable specified by the KEY option already has a value, the DEFAULT option is ignored.  
IDEFAULT=defaultnum   The index of the default entry, if the IKEY option is not specified or it specifies a variable with no value. If the IKEY option is specified, IDEFAULT is ignored.  
actions   The actions to execute when the user presses a function key. If the choice item the user chooses specifies a task, the phone executes the task instead of these actions. For more information on specifying actions, see <ACTION>.  
display_content   A formatted text title to display above the list of items. It should be as brief as possible. Avoid using the <LINE> tag for this text; if you use it, text that exceeds the display width will be truncated.  
<CE value=val task>text   An item the user can choose. val is an optional value the UP.Phone stores to the variable specified by the KEY option when the user chooses the item. task is an optional task to execute when the user chooses the item. It can include task options. If you specify a task for the item the user chooses, the phone executes the task instead of any actions you have specified at the card or deck level. text is a formatted text line that the UP.Phone displays on the item line. If you did not specify ALPHA for the choice method, the item's number is automatically prepended to the text. By default, the UP.Phone always displays the text in horizontal scrolling (<LINE>) mode. To make it wrap, insert a <WRAP> statement before the text.