dropdown.js
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:4k
源码类别:

电子政务应用

开发平台:

Java

  1. function update(e, dd, subMenuNum)
  2. {
  3. dd[0][2] = "SO" + subMenuNum; 
  4. dd[0][1] = "OPT" + subMenuNum;
  5. for (j=1; j < dd.length; j++)
  6. {
  7. dd[j][0] = true; // Options every first row in the array true
  8. }
  9. for (j=1; j < dd[0].length; j++) //loop through first row (getting headings) of array
  10. {
  11. for (i=1; i < dd.length; i++) //for each heading
  12. {
  13. current = dd[i][j].split("|"); //split the current heading
  14. value = current[0]; //place values into variable
  15. choice = current[0];
  16. if (current.length == 2) choice = current[1]; // split if need arises
  17. if (value != document[dd[0][0]][dd[0][j]][document[dd[0][0]][dd[0][j]].selectedIndex].value) dd[i][0] = false;
  18. //document[dd[0][0]][dd[0][j]][document[dd[0][0]][dd[0][j]].selectedIndex].value = what is selected?
  19.   if(dd[i][0]){
  20.  var NLayer = "Layer" + subMenuNum;
  21.     if(dd[i][2]){
  22.   MM_showHideLayers(NLayer,'','show')
  23.   }else{
  24.    MM_showHideLayers(NLayer,'','hide')
  25.   }
  26.   }
  27. }
  28. if (e == document[dd[0][0]][dd[0][j]])
  29. {
  30. dropdown(j+1,dd,subMenuNum);
  31. for (k=j+2; k < dd[0].length; k++)
  32. {
  33. document[dd[0][0]][dd[0][k]].length = 0;
  34. }
  35. break;
  36. }
  37. }
  38. }
  39. function dropdown(item,dd, id)
  40. {
  41. var pre1 = "";
  42. var j = 1;
  43. var defaultselect = 0;
  44. dd[0][2] = "SO" + id;
  45. dd[0][1] = "OPT" + id;
  46. if(dd[0][0]){
  47. if(dd[0][item]){
  48. document[dd[0][0]][dd[0][item]].options.length = 0;
  49. document[dd[0][0]][dd[0][item]].options[0] = new Option('Select...', '');
  50. }
  51. }
  52. for (i=1; i < dd.length; i++)
  53. {
  54. if (dd[i][0] || item == 1)
  55. {
  56. if(dd[i][item]){
  57. current = dd[i][item].split("|");
  58. }
  59. value = current[0];
  60. choice = current[0];
  61. //Changes made to set default selection **********************************
  62. defaultselected=current[2];
  63. // if (current.length == 2) choice = current[1];
  64. if (current.length >= 2) choice = current[1];
  65. // ***************************************
  66. if (value != pre1)
  67. {
  68. var op = new Option(choice, value);
  69. document[dd[0][0]][dd[0][item]].options[j] = op;
  70. //***********************************
  71. if (defaultselected)
  72. {
  73. document[dd[0][0]][dd[0][item]].selectedIndex=j;
  74. }
  75. // *******************************************************
  76. j++;
  77. pre1 = value;
  78. }
  79. }
  80. }
  81. }
  82. function MM_reloadPage(init) { //reloads the window if Nav4 resized 
  83.   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { 
  84.     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} 
  85.   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); 
  86. MM_reloadPage(true); 
  87. function MM_findObj(n, d) { //v4.0 
  88.   var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
  89.     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
  90.   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
  91.   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); 
  92.   if(!x && document.getElementById) x=document.getElementById(n); return x; 
  93. function MM_showHideLayers() { //v3.0 
  94.   var i,p,v,obj,args=MM_showHideLayers.arguments; 
  95.   for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; 
  96.     if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } 
  97.     obj.visibility=v; } 
  98. function ValidateSelection()
  99. {
  100. var EmailNo;
  101. var NLayer = "Layer";
  102. var ValidateSelect;
  103. // sort out all Comboboxes
  104. var arrayOfSelects = document.all.tags("Select");
  105. // Iterate through all elements on document
  106. for(i=0;i<arrayOfSelects.length;i++)
  107. {
  108. var ObjectName = new String(arrayOfSelects[i].name);
  109. NLayer="Layer";
  110. // If Element name starts with "OPT" means it is first combo and validate it
  111. if (ObjectName.indexOf("OPT") == 0)
  112. {
  113. // get Number assigned to Combo
  114. EmailNo=ObjectName.substring(3);
  115. //If Nothing is selected in Combo
  116. //if (document["form"][ObjectName].selectedIndex==0)
  117. //{
  118. // alert("Please select any option for Email [ " + EmailNo + " ]");
  119. // return false;
  120. //}
  121. //Build respective layer name for combo
  122. NLayer = NLayer + EmailNo;
  123. if ((obj=MM_findObj(NLayer))!=null)
  124. {
  125. obj=obj.style;
  126. // If secend combo is visible then validate it
  127. if (obj.visibility=="visible")
  128. {
  129. ValidateSelect = "SO"+EmailNo;
  130. if (document["form"][ValidateSelect].selectedIndex==0)
  131. {
  132. alert("Please select any option for Email [ " + EmailNo + " ]");
  133. return false;
  134. }
  135. }
  136. }
  137. }
  138. }
  139. return true;
  140. }