Solved

Building or creating dynamic drop down

Posted on 2011-03-04
11
219 Views
Last Modified: 2012-06-22
Experts,

I need to build a dynamic dropdown list based on the selection of a other dropdown. Also I don't want to submit
the form since I have other data entry field on my form and don't want to lose the user entered data.
What is the best way to achive it using CF and/or Java Script. An example would really help to save the time since it is kind of urgent.

My first query is : select state from mydatabse.states
My second query is : select counties from mydatabase.counties where state = #state#

Thanks in Advance
0
Comment
Question by:Tpaul_10
  • 4
  • 3
  • 2
  • +2
11 Comments
 
LVL 13

Expert Comment

by:srikanthmadishetti
ID: 35040932
0
 

Author Comment

by:Tpaul_10
ID: 35040993
Thanks for the quick reply and example srikanthmadishetti:
Right now I am not using or don't want to use the CFC. So, can I just use the fuction in that example and build my second drop down in the same page? with regular HTML instead of CFSELCT etc.?
0
 
LVL 39

Accepted Solution

by:
gdemaria earned 450 total points
ID: 35041597

cf_twoselectsrelated

a CF custom tag that creates the javascript for you..

All you do is write a query that has a join between both items you want to display.  For example,  a query "getProducts" is a list of products and the options available to that product (let's say SIZE : small, medium...)

Then you just fill in the fields :
   Name - the form's field name
   Display - the column that will be show to the user in the select tag
   Value - the column that will be the value of the select tag
   emptytext - what should appear when nothing is selected
   selected - the value of the field that should be shown when loaded
   formName - the name of the form the select tags are put into
   htmlBetween - any HTML that you want to appear between the two select tags, for example, maybe they are columns in a table so you would put </td><td> between the tags



<cf_twoselectsrelated query="getProducts"
   name1="product_id"
   name2="size_id"
   display1="productName"
   display2="optionName"
   value1="company_id"
   value2="annuity_id"
   emptyText1="- Select a Product -"
   emptyText2="- Select a Size"
   selected1="#variables.product_id#"
   selected2="#variables.size_id#"
   htmlBetween="</td><td>"
   formName="myForm"
   >

Open in new window

0
 
LVL 11

Assisted Solution

by:Brijesh Chauhan
Brijesh Chauhan earned 50 total points
ID: 35043623
>>Right now I am not using or don't want to use the CFC. So, can I just use the fuction in that example and build my second drop down in the same page? with regular HTML instead of CFSELCT etc.?

You can bind it to a CFM.. try below example

your form.cfm

<cfform name="UserForm" method="post" format="html">
  <select name="CategorySearch">
  	<option value="1">Test1</option>
    <option value="2">Test2</option>
   </select> 
   <cfselect width="50" name="SubCategories" bind="url:test.cfm?keyword={CategorySearch}" display="name" value="Aid" />
</cfform>

Open in new window


Create a file test.cfm which will have the query to pull the information for second select

   <cfset Category = queryNew("Aid, name")>
   <cfset queryAddRow(Category,1)>
   <cfset querySetCell(Category,'Aid',1)>
   <cfset querySetCell(Category,'name','Test1')>
   <cfset queryAddRow(Category,1)>
   <cfset querySetCell(Category,'Aid',2)>
   <cfset querySetCell(Category,'name','Test2')>
   

<cfquery name="getCatregory" dbtype="query">
	select Aid, name
    from Category
    where Aid = #url.keyword#
</cfquery>

<cfoutput>
#serializeJSON(getCatregory)#
</cfoutput>

Open in new window

0
 
LVL 13

Expert Comment

by:srikanthmadishetti
ID: 35044232
@brijesh Good to see you in EE :)

@Tpaul
>>>Right now I am not using or don't want to use the CFC. So, can I just use the fuction in that example and build my second drop down in the same page? with regular HTML instead of CFSELCT etc.?


Is there any specific reason for not using the cfselect or cfc

First it will be just few lines of code and second cfc will help you to reuse this code any where .

You can use it any form which has the state and country drop downs .

0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 15

Expert Comment

by:Gurpreet Singh Randhawa
ID: 35054410
0
 

Author Comment

by:Tpaul_10
ID: 35079795
I have old cold fusion code and the site is going away soon. So, no CFCs and don't want to spend money for buying the code -:(

I may look in to writing a custom tag, but need to find out if the tables are related to have one query.
May be an example would be helpful.

0
 
LVL 39

Expert Comment

by:gdemaria
ID: 35083361
I provided you with a custom tag:   cf_twoselectsrelated

 http://projects.nateweiss.com/nwdc/workcode.htm

> but need to find out if the tables are related to have one query

The would have to be related, wouldn't they?   Otherwise, you don't need two related select tags, you could just do two distinctly seperate tags, right?

0
 

Author Comment

by:Tpaul_10
ID: 35225709
Sorry about the delay and Thanks for all your inputs.
I was able to created a custom tag successfully with the exaple provided by gdemaria. THANKS.

now the problem is , if I go bak and edit my order, I should be able to pre-select the options which I have selected originally like following.
<option value="#myvalue#" <cfif #ListFind(preselectedValue,query2.value1)#> #SELECTED</cfif>>#myvalue#</option>                   

I am going to try it by adding another parameters to my customtag and use the similar condition like above. But if you have a better solution, please update me.

Thanks
0
 
LVL 39

Expert Comment

by:gdemaria
ID: 35226667
the custom tag has two parameters selected1 and selected2 representing the current values of the two select tags
0
 

Author Comment

by:Tpaul_10
ID: 35285907
THANKS gdemaria.
Based on my requirements, your answer gave me the complete solution eventhough others have provided with different soluctions
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

CFGRID Custom Functionality Series -  Part 1 Hi Guys, I was once asked how it is possible to to add a hyperlink in the cfgrid and open the window to show the data. Now this is quite simple, I have to use the EXT JS library for this and I achiev…
Hi. There are several upload tutorials using jquery and coldfusion. I found a very interesting one here Upload Your Files using Jquery & ColdFusion and Preview them (http://www.randhawaworld.com/) . I did keep the main js functions but made sever…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now