## com.gargoylesoftware.htmlunit.html
Class HtmlOption

    java.lang.Object
      com.gargoylesoftware.htmlunit.html.DomNode
          com.gargoylesoftware.htmlunit.html.DomNamespaceNode
              com.gargoylesoftware.htmlunit.html.DomElement
                  com.gargoylesoftware.htmlunit.html.HtmlElement
                      com.gargoylesoftware.htmlunit.html.StyledElement
                          com.gargoylesoftware.htmlunit.html.ClickableElement
                              com.gargoylesoftware.htmlunit.html.HtmlOption

All Implemented Interfaces:
  DisabledElement, java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.Node

    public class HtmlOption

extends ClickableElement
implements DisabledElement

Wrapper for the HTML element "option".

Version:
  $Revision: 4854 $
Author:
  Mike Bowler, David K. Taylor, Christian Sell, David D. Kilzer, Marc Guillemot, Ahmed Ashour, Daniel Gredler
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
`HtmlElement.ChildElementsIterator`

Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`DomNode.ChildIterator, DomNode.DescendantElementsIterator`

Field Summary
`static java.lang.String` `TAG_NAME` The HTML tag represented by this element.

Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
`TAB_INDEX_OUT_OF_BOUNDS`

Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
`ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY`

Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Method Summary
`java.lang.String` `asText()` Returns a textual representation of this element that represents what would be visible to the user if this page was shown in a web browser.
`protected Page` `doClickAction(Page defaultPage)` Selects the option if it's not already selected.
`java.lang.String` `getDisabledAttribute()` Returns the value of the attribute "disabled".
`HtmlSelect` `getEnclosingSelect()` Gets the enclosing select of this option.
`java.lang.String` `getLabelAttribute()` Returns the value of the attribute "label".
`java.lang.String` `getSelectedAttribute()` Returns the value of the attribute "selected".
`java.lang.String` `getText()` Gets the text.
`java.lang.String` `getValueAttribute()` Returns the value of the attribute "value".
`void` `insertBefore(DomNode newNode)` Inserts a new child node before this node into the child relationship this node is a part of.
`boolean` `isDefaultSelected()` Returns whether this Option is selected by default.
`boolean` `isDisabled()` Returns `true` if the disabled attribute is set for this element.
`boolean` `isSelected()` Returns `true` if this option is currently selected.
`protected void` `printOpeningTagContentAsXml(java.io.PrintWriter printWriter)` Prints the content between "<" and ">" (or "/>") in the output of the tag name and its attributes in XML format.
`void` `reset()` Resets the option to its original selected state.
`void` `setLabelAttribute(java.lang.String newLabel)` Sets the value of the attribute "label".
`Page` `setSelected(boolean selected)` Sets the selected state of this option.
`void` `setText(java.lang.String text)` Sets the text for this HtmlOption.
`void` `setValueAttribute(java.lang.String newValue)` Sets the value of the attribute "value".

Methods inherited from class com.gargoylesoftware.htmlunit.html.StyledElement
`getClassAttribute, getIdAttribute, getStyleAttribute, getTitleAttribute`

Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement

`addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, click, dblClick, dblClick, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getChildElements, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventHandler, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setAttributeNS, setEventHandler, setEventHandler, setId, toString, type, type, type, type`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement

`cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getElementsByTagName, getElementsByTagNameNS, getNodeType, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isEmptyXmlTagExpanded, namespaces, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
`getLocalName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix`

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode

`addDomChangeListener, appendChild, asXml, compareDocumentPosition, fireNodeAdded, fireNodeDeleted, getAllHtmlChildElements, getAncestors, getBaseURI, getByXPath, getCanonicalXPath, getChildNodes, getChildren, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, insertBefore, isAncestorOf, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, normalize, notifyIncorrectness, onAddedToPage, onAllChildrenAddedToPage, printChildrenAsXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, selectNodes, selectSingleNode, setNextSibling, setNodeValue, setParentNode, setPreviousSibling, setReadyState, setScriptObject, setTextContent, setUserData`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.w3c.dom.Node

`appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

Field Detail

### TAG_NAME

    public static final java.lang.String TAG_NAME

  The HTML tag represented by this element.

  See Also:
    Constant Field Values

Method Detail

### isSelected

    public boolean isSelected()

  Returns `true` if this option is currently selected.

  Returns:
    `true` if this option is currently selected

### setSelected

    public Page setSelected(boolean selected)

  Sets the selected state of this option. This will possibly also change the selected properties of sibling option elements.

  Parameters:
    `selected` - true if this option should be selected
  Returns:
    the page that occupies this window after this change is made (may or may not be the same as the original page)

### insertBefore

    public void insertBefore(DomNode newNode)
                      throws java.lang.IllegalStateException

  Inserts a new child node before this node into the child relationship this node is a part of. If the specified node is this node, this method is a no-op.

  Overrides:
    `insertBefore` in class `DomNode`
  Parameters:
    `newNode` - the new node to insert
  Throws:
    `java.lang.IllegalStateException` - if this node is not a child of any other node

### getEnclosingSelect

    public HtmlSelect getEnclosingSelect()

  Gets the enclosing select of this option.

  Returns:
    `null` if no select is found (for instance malformed html)

### reset

    public void reset()

  Resets the option to its original selected state.

### getSelectedAttribute

    public final java.lang.String getSelectedAttribute()

  Returns the value of the attribute "selected". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "selected" or an empty string if that attribute isn't defined.

### isDefaultSelected

    public final boolean isDefaultSelected()

  Returns whether this Option is selected by default. That is whether the "selected" attribute exists when the Option is constructed. This also determines the value of getSelectedAttribute() after a reset() on the form.

  Returns:
    whether the option is selected by default

### isDisabled

    public final boolean isDisabled()

  Returns `true` if the disabled attribute is set for this element. Note that this method always returns `false` when emulating IE, because IE does not allow individual options to be disabled.

  Specified by:
    `isDisabled` in interface `DisabledElement`
  Returns:
    `true` if the disabled attribute is set for this element (always `false` when emulating IE)

### getDisabledAttribute

    public final java.lang.String getDisabledAttribute()

  Returns the value of the attribute "disabled". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Specified by:
    `getDisabledAttribute` in interface `DisabledElement`
  Returns:
    the value of the attribute "disabled" or an empty string if that attribute isn't defined

### getLabelAttribute

    public final java.lang.String getLabelAttribute()

  Returns the value of the attribute "label". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "label" or an empty string if that attribute isn't defined

### setLabelAttribute

    public final void setLabelAttribute(java.lang.String newLabel)

  Sets the value of the attribute "label". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Parameters:
    `newLabel` - the value of the attribute "label"

### getValueAttribute

    public final java.lang.String getValueAttribute()

  Returns the value of the attribute "value". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Returns:
    the value of the attribute "value"
  See Also:
    initial value if value attribute is not set

### setValueAttribute

    public final void setValueAttribute(java.lang.String newValue)

  Sets the value of the attribute "value". Refer to the HTML 4.01 documentation for details on the use of this attribute.

  Parameters:
    `newValue` - the value of the attribute "value"

### doClickAction

    protected Page doClickAction(Page defaultPage)
                          throws java.io.IOException

  Selects the option if it's not already selected.

  This method will be called if there either wasn't an `onclick` handler, or if there was one, but the result of that handler wasn't `false`. This is the default behavior of clicking the element.

  The default implementation returns the current page. Subclasses requiring different behavior (like `HtmlSubmitInput`) will override this method.

  Overrides:
    `doClickAction` in class `HtmlElement`
  Parameters:
    `defaultPage` - the default page to return if the action does not load a new page
  Returns:
    the page that is currently loaded after execution of this method
  Throws:
    `java.io.IOException` - if an IO error occurs

### printOpeningTagContentAsXml

    protected void printOpeningTagContentAsXml(java.io.PrintWriter printWriter)

  Prints the content between "<" and ">" (or "/>") in the output of the tag name and its attributes in XML format.

  Overrides:
    `printOpeningTagContentAsXml` in class `DomElement`
  Parameters:
    `printWriter` - the writer to print in

### asText

    public java.lang.String asText()

  Returns a textual representation of this element that represents what would be visible to the user if this page was shown in a web browser. For example, a single-selection select element would return the currently selected value as text. This implementation will show the label attribute before the content of the tag if the attribute exists.

  Overrides:
    `asText` in class `DomNode`
  Returns:
    a textual representation of this element that represents what would be visible to the user if this page was shown in a web browser

### setText

    public void setText(java.lang.String text)

  Sets the text for this HtmlOption.

  Parameters:
    `text` - the text

### getText

    public java.lang.String getText()

  Gets the text.

  Returns:
    the text of this option.

Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.