[Javascript] How many seelct items have been selected

dev at qroute.net dev at qroute.net
Wed Jul 7 20:20:12 CDT 2004


I wrote this function to cycle thro the options to find out how many
selected or checked.

function  GetOptionCount(obj,objType)


 var numchecked=0;
 var returnVal = ""
 for(var x = 0; x < obj.length; x++){
  if (objType=="select")
  {
   if(obj[x].selected)
   {
    //alert(obj[x].selected + '\n\n' + obj[x] + '\n\n' + x + 'value=' +
obj[x].value)
    numchecked++;
   }
  }
  else
  {
   if(obj[x].checked)
   {
    numchecked++;
   }
  }
 }
 return numchecked;
}


But it reports count 1 as the selected count in the following select  !...


<select name="Height_Feet" >
 <option value="" >Select your Height</option>
 <option value="137" > &nbsp;&nbsp;4'6 " (1m 37cm)</option>
 <option value="140" > &nbsp;&nbsp;4'7 " (1m 40cm)</option>
 <option value="142" > &nbsp;&nbsp;4'8 " (1m 42cm)</option>
 <option value="145" > &nbsp;&nbsp;4'9 " (1m 45cm)</option>
 <option value="147" > &nbsp;&nbsp;4'10 " (1m 47cm)</option>
 <option value="150" > &nbsp;&nbsp;4'11 " (1m 50cm)</option>
 <option value="152" > &nbsp;&nbsp;5'0 " (1m 52cm)</option>
 <option value="155" > &nbsp;&nbsp;5'1 " (1m 55cm)</option>
 <option value="157" > &nbsp;&nbsp;5'2 " (1m 57cm)</option>
 <option value="160" > &nbsp;&nbsp;5'3 " (1m 60cm)</option>
 <option value="162" > &nbsp;&nbsp;5'4 " (1m 62cm)</option>
 <option value="165" > &nbsp;&nbsp;5'5 " (1m 65cm)</option>
 <option value="167" > &nbsp;&nbsp;5'6 " (1m 67cm)</option>
 <option value="170" > &nbsp;&nbsp;5'7 " (1m 70cm)</option>
 <option value="173" > &nbsp;&nbsp;5'8 " (1m 73cm)</option>
 <option value="175" > &nbsp;&nbsp;5'9 " (1m 75cm)</option>
 <option value="178" > &nbsp;&nbsp;5'10 " (1m 78cm)</option>
 <option value="180" > &nbsp;&nbsp;5'11 " (1m 80cm)</option>
 <option value="183" > &nbsp;&nbsp;6'0 " (1m 83cm)</option>
 <option value="185" > &nbsp;&nbsp;6'1 " (1m 85cm)</option>
 <option value="188" > &nbsp;&nbsp;6'2 " (1m 88cm)</option>
 <option value="190" > &nbsp;&nbsp;6'3 " (1m 90cm)</option>
 <option value="193" > &nbsp;&nbsp;6'4 " (1m 93cm)</option>
 <option value="195" > &nbsp;&nbsp;6'5 " (1m 95cm)</option>
 <option value="198" > &nbsp;&nbsp;6'6 " (1m 98cm)</option>
 <option value="201" > &nbsp;&nbsp;6'7 " (2m 0cm)</option>
 <option value="203" > &nbsp;&nbsp;6'8 " (2m 3cm)</option>
 <option value="206" > &nbsp;&nbsp;6'9 " (2m 6cm)</option>
 <option value="208" > &nbsp;&nbsp;6'10 " (2m 8cm)</option>
 <option value="211" > &nbsp;&nbsp;6'11 " (2m 11cm)</option>
 <option value="213" > &nbsp;&nbsp;7'0 " (2m 13cm)</option>
 <option value="216" > &nbsp;&nbsp;7'1 " (2m 16cm)</option>
 <option value="218" > &nbsp;&nbsp;7'2 " (2m 18cm)</option>
 <option value="221" > &nbsp;&nbsp;7'3 " (2m 21cm)</option>
 <option value="223" > &nbsp;&nbsp;7'4 " (2m 23cm)</option>
 <option value="226" > &nbsp;&nbsp;7'5 " (2m 26cm)</option>
 <option value="228" > &nbsp;&nbsp;7'6 " (2m 28cm)</option>
 <option value="231" > &nbsp;&nbsp;7'7 " (2m 31cm)</option>
 <option value="234" > &nbsp;&nbsp;7'8 " (2m 34cm)</option>
 <option value="236" > &nbsp;&nbsp;7'9 " (2m 36cm)</option>
 <option value="239" > &nbsp;&nbsp;7'10 " (2m 39cm)</option>
 <option value="241" > &nbsp;&nbsp;7'11 " (2m 41cm)</option>
 <option value="244" > &nbsp;&nbsp;8'0 " (2m 44cm)</option>
 <option value="247" > &nbsp;&nbsp;&gt; 8'0 " (2m 44cm)</option>
</select>


It reports the  <option value="" >Select your Height</option> as the
selected item.
Any clue what could be happening ?


Validation code is as follows;

Height_Feet = GetOptionCount(window.document.aboutme.Height_Feet,"select")
if (Height_Feet==0) { message = message + '\n' + 'Height [Feet] field is
left blank.' ;donotsubmit = true; if (firstculprit == "" ) {firstculprit =
'Height_Feet' ;firstculpritobject = "s"}}

Unfortunately, Height_Feet comes as 1 so although nothing is selected, my
function still reports one is already selected.




More information about the Javascript mailing list