日期:2014-05-17  浏览次数:21005 次

还是JS函数的处理问题,再次求教!
以下代码的效果是:用户输入面积,然后选择物业类型(这个SELECT是二级联动),最后得出所选类型与输入面积的乘积

现在我的问题是:输入面积,在选择完类型,点提交后,计算机结果出来了,但是在选择类型的第二联菜单就回到   "==请选择== "状态,如何能使提交后,第二联菜单显示的是所选择的项呢?

<script   language= "JavaScript ">
<!--
var   subcat   =   new   Array();
subcat[0]   =   new   Array( '商铺 ', '一线铺 ', '10000 ')
subcat[1]   =   new   Array( '商铺 ', '二线铺 ', '20000 ')
subcat[2]   =   new   Array( '写字楼 ', '专业写字楼 ', '30000 ')
subcat[3]   =   new   Array( '写字楼 ', '非专业写字楼 ', '40000 ')
subcat[4]   =   new   Array( '住宅 ', '豪华住宅 ', '8000 ')
subcat[5]   =   new   Array( '住宅 ', '普通住宅 ', '7000 ')

function   changeselect1(locationid)
{
      var   f=document.form1;
      f.s2.length   =   0;        
      f.s2.options[0]   =   new   Option( '==请选择== ', ' ');  
      for   (i=0;   i <subcat.length;   i++)                                                  
      {
        if   (subcat[i][0]   ==   locationid)                                      
        {f.s2.options[f.s2.length]   =   new   Option(subcat[i][1],   subcat[i][2]);}    
      }
      document.getElementsByName( "s2 ")[0].onchange   =   function()
      {   var   leixing   =   this.value;  
      totalprice   =   f.fangmj.value   *   leixing;
      }
      return   totalprice;
}

function   getResult()
{          
            var   str   =   0;
            var   f   =   document.form1;         //调用changeselect1()的返回值
            var   total   =   changeselect1();

            document.getElementById( "result ").innerText   =   total;
}
//-->
</script>

<form   id= "form1 "   name= "form1 "   method= "post "   >
用户输入面积:
                <input   name= "fangmj "   type= "text "   id= "fangmj "   size= "6 "   maxlength= "6 "   />
选择物业类型:
                <select   name= "s1 "   onChange= "changeselect1(this.value) ">
                        <option> ==请选择== </option>
                        <option   value= "商铺 "> 商铺 </option>