<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- $Id$ --> 
<html>
<head>
<title>Option</title>
<link rel="stylesheet" type="text/css" href="Tapestry.css" title="style">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
 <tr>
  <td align="left"><A href="ListEdit.html"><IMG alt=ListEdit src="common-images/prev.png"></a></td>  
  <td align="middle"><A href="index.html"><IMG alt="Component Index" src="common-images/home.png" ></a></td>  
  <td align="right"><A href="PageLink.html"><IMG alt=PageLink src="common-images/next.png"></a></td>  
 <tr>
 <tr>
  <td colspan="3"><hr></td>  
 </tr>
 <tr>
  <td colspan="3">
   <table border="0" cellpadding="4" cellspacing="4" width="100%">
   
<tr valign="top">
 <td>
  <table>
	 <tr>
	  <td><font size="+2"><b>Option</b></font></td>
	 </tr>
	 <tr>
	  <td>
		 <A href="../api/org/apache/tapestry/form/Option.html">org.apache.tapestry.form.option</a>
		</td>
	 </tr>
  </table>
 </td>
 <td>
  <table align="right" valign="middle" bgcolor="#c0c0c0" cellpadding="8">
	 <tr>
	 	<td>
	   Option
		 <select>
		  <option selected>First</option>
		  <option>Second</option>
		  <option>Third</option>
		 </select>
		</td>
	 </tr>
  </table>
 </td>
</tr>

<tr valign="center">
 <td colspan="2">&nbsp;</td>
</tr>

<tr>
 <td colspan="2">
  <b>Description</b>
	<br>

  A component that renders an HTML &lt;option&gt; form element. The
  Option component must be wrapped by a <A href="Select.html">Select</a> 
  component.   For a fully worked example showing the Option component, please refer to the <A href="Select.html">Select</a>
            documentation. 
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>See Also</b>
	<br>
	<A href="Form.html">Form</a>, 
	<A href="PropertySelection.html">PropertySelection</a>, 
  <A href="Select.html">Select</a>
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>Parameters</b>
	<br>
  <table border="1" cellpadding="4" cellspacing="4" class="parameters">
  <tr>
    <th>Name</th>
    <th>Type</th>
    <th>Direction</th>
    <th>Required</th> 
    <th>Default</th>
    <th>Description</th>
 </tr>


 <tr>
		<td>selected</td>
		<td>boolean</td>
		<td>in-out</td>
		<td>yes</td>
		<td>&nbsp;</td>
		<td>Used to indicate whether the given option is selected.</td>
	</tr>

  <tr>
		<td>label</td>
		<td>String</td>
		<td>in</td>
		<td>no</td>
		<td>&nbsp;</td>
		<td>A string which represents the option that may be selected.  This is optional;
		any text that follows the &lt;option&gt; tag is considered the label, but this
      saves the designer from including one more
    <A href="Insert.html"><tt>Insert</tt></a> component.
		</td>
	</tr>
	</table><BR>Body: 
            <STRONG>allowed</STRONG><BR>Informal parameters: 
            <STRONG>allowed</STRONG>
    <br>
  Reserved parameters: "value"
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>Examples</b>
	<p>
  Please see the documentation for the <A href="Select.html">Select</a> component.</p>
 
 
 </td></tr></table>
</td></tr>
<tr>
 <td colspan="3"><hr></td>  
</tr>
<tr>
 <td align="left"><A href="ListEdit.html"><IMG alt=ListEdit src="common-images/prev.png"></a></td>  
 <td align="middle"><A href="index.html"><IMG alt="Component Index" src="common-images/home.png" ></a></td>  
 <td align="right"><A href="PageLink.html"><IMG alt=PageLink src="common-images/next.png"></a></td>  
</tr>
</table>

</body>
</html>