Solved

Undefined Value in drop down box countries and states

Posted on 2010-11-17
4
390 Views
Last Modified: 2012-06-21
I am using this script here and am getting an undefined option on the country drop down as the last option. Does anyone know what would be causing this?

http://javascript.internet.com/forms/country-state-drop-down.html

The same thing happens on my script.. it also happens on the original source link, it is the last country option.
0
Comment
Question by:nismor240sx
  • 2
4 Comments
 
LVL 1

Accepted Solution

by:
leehanken earned 175 total points
ID: 34160376
There is an error in the javascript file in the populateCountry function. The line which says:

  for (var loop = 0; loop < countryLineArray.length; loop++) {

should say

  for (var loop = 0; loop < countryLineArray.length-1; loop++) {

otherwise the loop goes on too many times and adds an invalid item to the list of countries.

Just insert the -1 and it will work.
// Populates the country selected with the counties from the country list
function populateCountry(defaultCountry) {
  if ( postCountry != '' ) {
    defaultCountry = postCountry;
  }
  var countryLineArray = country.split('|');  // Split into lines
  var selObj = document.getElementById('countrySelect');
  selObj.options[0] = new Option('Select Country','');
  selObj.selectedIndex = 0;
  for (var loop = 0; loop < countryLineArray.length-1; loop++) {
    lineArray = countryLineArray[loop].split(':');
    countryCode  = TrimString(lineArray[0]);
    countryName  = TrimString(lineArray[1]);
    if ( countryCode != '' ) {
      selObj.options[loop + 1] = new Option(countryName, countryCode);
    }
    if ( defaultCountry == countryCode ) {
      selObj.selectedIndex = loop + 1;
    }
  }
}

Open in new window

0
 
LVL 63

Assisted Solution

by:Zvonko
Zvonko earned 75 total points
ID: 34160395
Remove the last separator pipe character | from the country data string and the empty Option will go away:

ZM:Zambia|\
ZW:Zimbabwe|\
';

Like this:

ZM:Zambia|\
ZW:Zimbabwe';
 
0
 
LVL 1

Author Closing Comment

by:nismor240sx
ID: 34160496
Thank you.
0
 
LVL 1

Author Comment

by:nismor240sx
ID: 34160500
You were both correct, thanks for helping me figure it out. Since my script is dynamic using ASP scripts and a database, the first answer was the easiest one for me to implement.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Article by: DanRollins
This article describes a JavaScript program that creates a maze made of hexagonal cells.  In Part 2 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7850-Hex-Maze-Part-2.html), we'll extend the program by adding a depth-…
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

685 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