For the complete experience, please enable JavaScript in your browser. Thank you!

  • Creative Cloud
  • Photoshop
  • Illustrator
  • InDesign
  • Premiere Pro
  • After Effects
  • Lightroom
  • See all
  • See plans for: businesses photographers students
  • Document Cloud
  • Acrobat DC
  • eSign
  • Stock
  • Elements
  • Marketing Cloud
  • Analytics
  • Audience Manager
  • Campaign
  • Experience Manager
  • Media Optimizer
  • Target
  • See all
  • Acrobat Reader DC
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player
  • All products
  • Creative Cloud
  • Individuals
  • Photographers
  • Students and Teachers
  • Business
  • Schools and Universities
  • Marketing Cloud
  • Document Cloud
  • Stock
  • Elements
  • All products
  • Get Support
    Find answers quickly. Contact us if you need to.
    Start now >
  • Learn the apps
    Get started or learn new ways to work.
    Learn now >
  • Ask the community
    Post questions and get answers from experts.
    Start now >
    • About Us
    • Careers At Adobe
    • Investor Relations
    • Privacy  |  Security
    • Corporate Responsibility
    • Customer Showcase
    • Events
    • Contact Us
News
    • 3/22/2016
      Adobe Summit 2016: Are You An Experience Business?
    • 3/22/2016
      Adobe Announces Cross-Device Co-op to Enable People-Based Marketing
    • 3/22/2016
      Adobe and comScore Advance Digital TV and Ad Measurement
    • 3/22/2016
      Adobe Marketing Cloud Redefines TV Experience
Introduction to Retrieving and Formatting Data / 

Dynamically populating list boxes

Adobe Community Help


Applies to

  • ColdFusion

Contact support

 
By clicking Submit, you accept the Adobe Terms of Use.
 

The code in Creating a basic form hard-coded the form's list box options. Instead of manually entering the information on a form, you can dynamically populate a list box with database fields. When you write code this way, the form page automatically reflects the changes that you make to the database.
You use two tags to dynamically populate a list box:

  • Use the cfquery tag to retrieve the column data from a database table.
  • Use the cfselect tag with the query attribute to dynamically populate the options of this form control.

Dynamically populate a list box

  1. Open the formpage.cfm page.
  2. Modify the file so that it appears as follows:

    <html>
    <head>
    <title>Input form</title>
    </head>
    <body>
    <cfquery name="GetDepartments" datasource="cfdocexamples">
    SELECT DISTINCT Location
    FROM Departmt
    </cfquery>

    <!--- Define the action page in the form tag.
    The form variables pass to this page
    when the form is submitted --->

    <cfform action="actionpage.cfm" method="post">

    <!--- Text box. --->
    <p>
    First Name: <cfinput type="Text" name="FirstName" size="20" maxlength="35"><br>
    Last Name: <cfinput type="Text" name="LastName" size="20" maxlength="35"><br>
    Salary: <cfinput type="Text" name="Salary" size="10" maxlength="10">
    </p>

    <!--- List box. --->
    City
    <cfset optsize=getDepartments.recordcount + 1>
    <cfselect name="City" query="GetDepartments" value="Location" size="#optsize#">
    <option value="">Select All
    </cfselect>

    <!--- Radio buttons. --->
    <p>
    Department:<br>
    <cfinput type="radio" name="Department" value="Training">Training<br>
    <cfinput type="radio" name="Department" value="Sales">Sales<br>
    <cfinput type="radio" name="Department" value="Marketing">Marketing<br>
    <cfinput type="radio" name="Department" value="HR">HR<br>
    </p>

    <!--- Check box. --->
    <p>
    Contractor? <cfinput type="checkbox" name="Contractor" value="Yes" checked>Yes
    </p>

    <!--- Reset button. --->
    <cfinput type="reset" name="ResetForm" value="Clear Form">

    <!--- Submit button. --->
    <cfinput type="submit" name="SubmitForm" value="Submit">
    </cfform>
    </body>
    </html>

  3. Save the page as formpage.cfm.
  4. View the formpage.cfm page in a browser. The changes that you just made appear in the form.Remember that you need an action page to submit values.
Reviewing the code

The following table describes the highlighted code and its function:

Code

Description

 

<cfquery name="GetDepartments" datasource="cfdocexamples">
SELECT DISTINCT Location
FROM Departmt
</cfquery>

 

Gets the locations of all departments in the Departmt table. The DISTINCT clause eliminates duplicate location names from the returned query results.

 

<cfset optsize=getDepartments.recordcount + 1>

 

Sets the optsize variable to the number of entries to add dynamically to the selection list, plus one for the manually coded Select All option.

 

<cfselect name="City" query="GetDepartments" value="Location" size="#optsize#">
<option value="">Select All
</cfselect>

 

Populates the City selection list from the Location column of the GetDepartments query. The control has one option for each row returned by the query.Adds an option that allows users to select all locations. If the user selects this option, the form value is an empty string. The action page must check for the empty string and handle it appropriately.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy

Choose your region United States (Change)   Products   Downloads   Learn & Support   Company
Choose your region Close

Americas

Europe, Middle East and Africa

Asia Pacific

  • Brasil
  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Cyprus - English
  • Česká republika
  • Danmark
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Greece - English
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Malta - English
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Southeast Asia (Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam) - English
  • 台灣

Commonwealth of Independent States

  • Includes Armenia, Azerbaijan, Belarus, Georgia, Moldova, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, Ukraine, Uzbekistan

Copyright © 2016 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy | Cookies

AdChoices