public class HtmlSelect extends HtmlElement implements DisabledElement, SubmittableElement, LabelableElement, FormFieldWithNameHistory, ValidatableElement
HtmlElement.DisplayStyle
DomElement.ChildElementsIterator
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T extends DomNode>
Modifier and Type | Field and Description |
---|---|
static String |
TAG_NAME
The HTML tag represented by this element.
|
ATTRIBUTE_CHECKED, ATTRIBUTE_HIDDEN, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDS
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTE
PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED
ATTRIBUTE_DISABLED
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
Modifier and Type | Method and Description |
---|---|
DomNode |
appendChild(Node node) |
void |
appendOption(HtmlOption newOption)
Add a new option at the end.
|
void |
ensureSelectedIndex()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
|
HtmlElement.DisplayStyle |
getDefaultStyleDisplay()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
|
String |
getDefaultValue()
Returns the default value to use when this element gets reset, if applicable.
|
String |
getDisabledAttribute()
Returns the value of the attribute
disabled . |
String |
getMultipleAttribute()
Returns the value of the attribute
multiple . |
String |
getNameAttribute()
Returns the value of the attribute
name . |
Collection<String> |
getNewNames()
Get all the names this field got after the original one.
|
String |
getOnBlurAttribute()
Returns the value of the attribute
onblur . |
String |
getOnChangeAttribute()
Returns the value of the attribute
onchange . |
String |
getOnFocusAttribute()
Returns the value of the attribute
onfocus . |
HtmlOption |
getOption(int index)
Returns the indexed option.
|
HtmlOption |
getOptionByText(String text)
Returns the
HtmlOption object that has the specified text. |
HtmlOption |
getOptionByValue(String value)
Returns the
HtmlOption object that corresponds to the specified value. |
List<HtmlOption> |
getOptions()
Returns all of the options in this select element.
|
int |
getOptionSize()
Returns the number of options.
|
String |
getOriginalName()
Gets the first value of the
name attribute of this field before any change. |
int |
getSelectedIndex()
Returns the value of the
selectedIndex property. |
List<HtmlOption> |
getSelectedOptions()
Returns all of the currently selected options.
|
int |
getSize() |
String |
getSizeAttribute()
Returns the value of the attribute
size . |
NameValuePair[] |
getSubmitNameValuePairs()
Returns an array of
NameValuePair s that are the values that will be sent
back to the server whenever this element's containing form is submitted. |
String |
getTabIndexAttribute()
Returns the value of the attribute
tabindex . |
boolean |
handles(Event event)
Indicates if the provided event can be applied to this node.
|
int |
indexOf(HtmlOption option)
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
|
boolean |
isCustomErrorValidityState() |
boolean |
isDefaultChecked()
Returns the default checked state to use when this element gets reset, if applicable.
|
boolean |
isDisabled()
Returns
true if the disabled attribute is set for this element. |
boolean |
isMultipleSelectEnabled()
Returns
true if this select is using "multiple select". |
boolean |
isReadOnly()
Returns
true if this element is read only. |
protected boolean |
isRequiredSupported()
Returns whether this element supports the
required constraint. |
boolean |
isValid()
Returns whether this element satisfies all form validation constraints set.
|
boolean |
isValidValidityState() |
boolean |
isValueMissingValidityState() |
void |
onAllChildrenAddedToPage(boolean postponed)
If we were given an invalid
size attribute, normalize it. |
void |
removeOption(int index)
Remove an option at the given index.
|
void |
replaceOption(int index,
HtmlOption newOption)
Replace an option at the given index with a new option.
|
void |
reset()
Returns the value of this element to what it was at the time the page was loaded.
|
protected void |
setAttributeNS(String namespaceURI,
String qualifiedName,
String attributeValue,
boolean notifyAttributeChangeListeners,
boolean notifyMutationObservers)
Sets the value of the attribute specified by namespace and qualified name.
|
void |
setCustomValidity(String message)
Sets the custom validity message for the element to the specified message.
|
void |
setDefaultChecked(boolean defaultChecked)
Sets the default checked state to use when this element gets reset, if applicable.
|
void |
setDefaultValue(String defaultValue)
Sets the default value to use when this element gets reset, if applicable.
|
void |
setOptionSize(int newLength)
Remove options by reducing the "length" property.
|
<P extends Page> |
setSelectedAttribute(HtmlOption selectedOption,
boolean isSelected)
Sets the "selected" state of the specified option.
|
<P extends Page> |
setSelectedAttribute(HtmlOption selectedOption,
boolean isSelected,
boolean invokeOnFocus,
boolean shiftKey,
boolean ctrlKey,
boolean isClick)
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
|
<P extends Page> |
setSelectedAttribute(String optionValue,
boolean isSelected)
Sets the "selected" state of the specified option.
|
<P extends Page> |
setSelectedAttribute(String optionValue,
boolean isSelected,
boolean invokeOnFocus)
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
|
void |
setSelectedIndex(int index)
Sets the value of the
selectedIndex property. |
boolean |
willValidate() |
acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, cloneNode, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isShiftPressed, isSubmittableByEnter, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setHidden, setHidden, setOwningForm, setRequired, type, type, type, type, typeDone
blur, click, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doClickStateUpdate, fireEvent, fireEvent, focus, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStaticElementsByTagName, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, isMouseOver, isStateUpdateFirst, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, printOpeningTagContentAsXml, printXml, propagateClickStateUpdateToParent, removeAttributeNode, removeAttributeNS, removeFocus, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElement
getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix
addCharacterDataChangeListener, addDomChangeListener, asNormalizedText, asXml, basicRemove, closest, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, setTextContent, setUserData
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
hasBadInputValidityState, hasPatternMismatchValidityState, hasRangeOverflowValidityState, hasRangeUnderflowValidityState, hasTypeMismatchValidityState, isStepMismatchValidityState, isTooLongValidityState, isTooShortValidityState
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, setPrefix, setTextContent, setUserData
public static final String TAG_NAME
public void onAllChildrenAddedToPage(boolean postponed)
size
attribute, normalize it.
Then set a default selected option if none was specified and the size is 1 or less
and this isn't a multiple selection input.onAllChildrenAddedToPage
in class DomNode
postponed
- whether to use PostponedAction
or nopublic boolean handles(Event event)
handles
in class HtmlElement
event
- the eventfalse
if the event can't be appliedpublic List<HtmlOption> getSelectedOptions()
Returns all of the currently selected options. The following special conditions can occur if the element is in single select mode:
public List<HtmlOption> getOptions()
public HtmlOption getOption(int index)
index
- the indexpublic int getOptionSize()
public void setOptionSize(int newLength)
newLength
- the new length property valuepublic void removeOption(int index)
index
- the index of the option to removepublic void replaceOption(int index, HtmlOption newOption)
index
- the index of the option to removenewOption
- the new option to replace to indexed optionpublic void appendOption(HtmlOption newOption)
newOption
- the new option to addpublic DomNode appendChild(Node node)
appendChild
in interface Node
appendChild
in class DomNode
public <P extends Page> P setSelectedAttribute(String optionValue, boolean isSelected)
Only options that are actually in the document may be selected.
P
- the page typeisSelected
- true if the option is to become selectedoptionValue
- the value of the option that is to changeWebClient.getCurrentWindow()
public <P extends Page> P setSelectedAttribute(String optionValue, boolean isSelected, boolean invokeOnFocus)
Only options that are actually in the document may be selected.
P
- the page typeisSelected
- true if the option is to become selectedoptionValue
- the value of the option that is to changeinvokeOnFocus
- whether to set focus or not.WebClient.getCurrentWindow()
public <P extends Page> P setSelectedAttribute(HtmlOption selectedOption, boolean isSelected)
Only options that are actually in the document may be selected.
P
- the page typeisSelected
- true if the option is to become selectedselectedOption
- the value of the option that is to changeWebClient.getCurrentWindow()
public <P extends Page> P setSelectedAttribute(HtmlOption selectedOption, boolean isSelected, boolean invokeOnFocus, boolean shiftKey, boolean ctrlKey, boolean isClick)
Only options that are actually in the document may be selected.
P
- the page typeisSelected
- true if the option is to become selectedselectedOption
- the value of the option that is to changeinvokeOnFocus
- whether to set focus or not.shiftKey
- true
if SHIFT is pressedctrlKey
- true
if CTRL is pressedisClick
- is mouse clickedWebClient.getCurrentWindow()
public NameValuePair[] getSubmitNameValuePairs()
Returns an array of NameValuePair
s that are the values that will be sent
back to the server whenever this element's containing form is submitted.
THIS METHOD IS INTENDED FOR THE USE OF THE FRAMEWORK ONLY AND SHOULD NOT BE USED BY CONSUMERS OF HTMLUNIT. USE AT YOUR OWN RISK.
getSubmitNameValuePairs
in interface SubmittableElement
public void reset()
reset
in interface SubmittableElement
public void setDefaultValue(String defaultValue)
setDefaultValue
in interface SubmittableElement
defaultValue
- the default value to use when this element gets reset, if applicableSubmittableElement.setDefaultValue(String)
public String getDefaultValue()
getDefaultValue
in interface SubmittableElement
SubmittableElement.setDefaultValue(String)
public void setDefaultChecked(boolean defaultChecked)
setDefaultChecked
in interface SubmittableElement
defaultChecked
- the default checked state to use when this element gets reset, if applicableSubmittableElement.setDefaultChecked(boolean)
,
HtmlRadioButtonInput.setDefaultChecked(boolean)
,
HtmlCheckBoxInput.setDefaultChecked(boolean)
public boolean isDefaultChecked()
false
; only checkboxes and
radio buttons really care what the default checked value is.isDefaultChecked
in interface SubmittableElement
SubmittableElement.isDefaultChecked()
,
HtmlRadioButtonInput.isDefaultChecked()
,
HtmlCheckBoxInput.isDefaultChecked()
public boolean isMultipleSelectEnabled()
true
if this select is using "multiple select".true
if this select is using "multiple select"public HtmlOption getOptionByValue(String value) throws ElementNotFoundException
HtmlOption
object that corresponds to the specified value.value
- the value to search byHtmlOption
object that corresponds to the specified valueElementNotFoundException
- If a particular element could not be found in the DOM modelpublic HtmlOption getOptionByText(String text) throws ElementNotFoundException
HtmlOption
object that has the specified text.text
- the text to search byHtmlOption
object that has the specified textElementNotFoundException
- If a particular element could not be found in the DOM modelpublic final String getNameAttribute()
name
. Refer to the HTML 4.01 documentation for details on the use of this attribute.name
or an empty string if that attribute isn't definedpublic final String getSizeAttribute()
size
. Refer to the HTML 4.01 documentation for
details on the use of this attribute.size
or an empty string if that attribute isn't definedpublic final int getSize()
public final String getMultipleAttribute()
multiple
. Refer to the HTML 4.01 documentation for details on the use of this attribute.multiple
or an empty string if that attribute isn't definedpublic final String getDisabledAttribute()
disabled
. Refer to the
HTML 4.01
documentation for details on the use of this attribute.getDisabledAttribute
in interface DisabledElement
disabled
or an empty string if that attribute isn't definedpublic final boolean isDisabled()
true
if the disabled attribute is set for this element.isDisabled
in interface DisabledElement
true
if the disabled attribute is set for this elementpublic boolean isReadOnly()
true
if this element is read only.true
if this element is read onlypublic final String getTabIndexAttribute()
tabindex
. Refer to the HTML 4.01 documentation for details on the use of this attribute.tabindex
or an empty string if that attribute isn't definedpublic final String getOnFocusAttribute()
onfocus
. Refer to the HTML 4.01 documentation for details on the use of this attribute.onfocus
or an empty string if that attribute isn't definedpublic final String getOnBlurAttribute()
onblur
. Refer to the HTML 4.01 documentation for details on the use of this attribute.onblur
or an empty string if that attribute isn't definedpublic final String getOnChangeAttribute()
onchange
. Refer to the HTML 4.01 documentation for details on the use of this attribute.onchange
or an empty string if that attribute isn't definedprotected void setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)
setAttributeNS
in class HtmlElement
namespaceURI
- the URI that identifies an XML namespacequalifiedName
- the qualified name (prefix:local) of the attributeattributeValue
- the value of the attributenotifyAttributeChangeListeners
- to notify the associated HtmlAttributeChangeListener
snotifyMutationObservers
- to notify MutationObserver
s or notpublic String getOriginalName()
name
attribute of this field before any change.getOriginalName
in interface FormFieldWithNameHistory
public Collection<String> getNewNames()
getNewNames
in interface FormFieldWithNameHistory
public HtmlElement.DisplayStyle getDefaultStyleDisplay()
getDefaultStyleDisplay
in class HtmlElement
public int getSelectedIndex()
selectedIndex
property.public void setSelectedIndex(int index)
selectedIndex
property.index
- the new valuepublic void ensureSelectedIndex()
public int indexOf(HtmlOption option)
option
- the option to search forprotected boolean isRequiredSupported()
required
constraint.isRequiredSupported
in class HtmlElement
required
constraintpublic boolean willValidate()
willValidate
in interface ValidatableElement
public void setCustomValidity(String message)
setCustomValidity
in interface ValidatableElement
message
- the new messagepublic boolean isValid()
isValid
in class HtmlElement
public boolean isCustomErrorValidityState()
isCustomErrorValidityState
in interface ValidatableElement
public boolean isValidValidityState()
isValidValidityState
in interface ValidatableElement
public boolean isValueMissingValidityState()
isValueMissingValidityState
in interface ValidatableElement
Copyright © 2002–2024 Gargoyle Software Inc.. All rights reserved.