The drop-down list box that you can create in a cfform
tag with cfselect
is similar to the HTML select
tag. However, cfselect
gives you more control over user inputs, provides error handling, and, most importantly, allows you to automatically populate the selection list from a query.
You can populate the drop-down list box from a query, or using lists of option elements created by the option
tag. The syntax for the option
tag with cfselect
is the same as for the HTML option
tag.
When you populate a cfselect
with data from a query, you only need to specify the name of the query that is supplying data for the cfselect
and the query column name for each list element to display.
<cfquery name="getNames" datasource="CompanyInfo"> SELECT * FROM Employee </cfquery> <cfform name="Form1" action="submit.cfm"> <cfselect name="employees" query="getNames" value="Emp_ID" display="FirstName" required="Yes" multiple="Yes" size="8"> </cfselect> <br><input type="Submit" value="Submit"> </cfform>
Because the tag includes the multiple
attribute, the user can select multiple entries in the list box. Also, because the value
tag specifies Emp_ID, the primary key for the Employee table, Employee IDs (not first names) get passed in the Form.Employee variable to the application page specified in the cfform
action
attribute.