Solved

how to add an extra (non-db) selection to a dynamically driven drop-down menu in CFML

Posted on 2012-12-22
1
248 Views
Last Modified: 2013-01-19
I have a search box/form that I am using to search through a query. I have a way of moving forward with the way that I want to do - but I feel like I may be stuck with a small problem.

The Page is going to submit to itself, and the search parameters are going to be stored as session variables. All the search criteria/selectors come from db fields themselves, so that they can be changed through the db/an administration interface.

After submitting the search criteria, the page will be populated with the appropriate results, and the search box (on the top of the page) will display the items and essential structure/form of the previous search. For instance, there is a drop down menu called 'titles' that is a part of the search box. If a title is selected as "pastor" then all pastors will be displayed in the search results, and the search box will be defaulted to the existing search variable which will be titles = 'pastors'. The menu will have all the other titles from the db, and it does have a section of id="0" which is for 'no title'.  But I need a selection to be in the search menu for titles, that is not just set to "0" but rather instead for just nothing, so that when the 'blank' selection is used, it just does not search only for users that have 'no title'  - but will be set to null so the the logic (that I will build) will not run the query for titles against the db for anything, either "0" ('No Title') or any other numbers ("2" = 'pastors,' for example).  Essentially I have 'name,' 'title,' and 'authority' search descriptors - and the title and authority are drop down menu, db-populated. I know that I could put a 'null' value in the db - but then I'd have to go back into all the other sections, and rewrite the queries so that they don't pull the 'null' value, because there is where I specifically set the users as having 'No Title".

does this make any sense?

it seems that it ought to be very very easy to add 'hardcoded' selections to a db-populated menu list.


thanks!
0
Comment
Question by:btintermedia
1 Comment
 
LVL 36

Accepted Solution

by:
SidFishes earned 500 total points
ID: 38723833
It is pretty simple. Basically you just need to manually create an option before you loop through the returned data (or as in the case of the example below, a static array)

mySelect.options[0] = new Option ('Not Stated', '0');


<Script>  
 var vArr = new Array( 
['1','Tinker'],
['2','Tailor'],
['3','Soldier'],
['4','Spy'],
['5','Pastor'])


function init(){
var mySelect = document.getElementById('foo');

	 mySelect.options.length = 0;
	 mySelect.options[0] = new Option ('Not Stated', '0'); //create an option for array position [0]
     for (var c = 1; c < vArr.length; c++) { //loop over array starting at position [1] until done
          mySelect.options[c] = new Option(vArr[c][1],vArr[c][1]);
     }
}
	</script>		
	<body onLoad="init()">
			<select id="foo" name="foo">
			<option value="">--Please Select--</option>
			</select>
	</body>		

Open in new window

0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

707 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