Solved

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

Posted on 2012-12-22
1
256 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

Question has a verified solution.

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

Because your company can’t afford for you to make SEO mistakes, you’ll want to ensure you’re taking the right steps each and every time you post a new piece of content. This list of optimization do’s and don’ts can help you become an SEO wizard.
There’s a good reason for why it’s called a homepage – it closely resembles that of a physical house and the only real difference is that it’s online. Your website’s homepage is where people come to visit you. It’s the family room of your website wh…
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
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.

690 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