当然,当不输入pid而直接选下拉框,效果也应当一样

解决方案 »

  1.   

    <HTML>
    <HEAD>
    </HEAD>
    <BODY onLoad="Init()">
    <select name="pid" onChange="changelist(this.selectedIndex)">
    </select>
    <select name="list" onChange="changelist(this.selectedIndex)">
    </select>
    <input name="pprice" type="text" id="pprice" size="12" onpropertychange="calc()">* 
    <input name="q" type="text" id="q" size="8" onpropertychange="calc()">= 
    <input name="result" type="text" id="result">
    <script language="JavaScript" type="text/JavaScript">
    function Info(pid,pname,pprice){
    this.pid=pid
    this.pname=pname
    this.pprice=pprice
    }
    //以下数据由数据库取得在服务器端产生
    var PInfo =new Array(5)//这个3根据记录集的数目定
    //下面是用循环来产生 
    PInfo[0]=new Info("001","墨盒","360.00")
    PInfo[1]=new Info("002","打印纸","60.00")
    PInfo[2]=new Info("003","打印机","2200.00")
    PInfo[3]=new Info("004","计算机","8400.00")
    PInfo[4]=new Info("005","碎纸机","720.00")
    //数据结束
    function Init(){
    for (var i=0;i<PInfo.length;i++){
        document.all.pid.options[i]=new Option(PInfo[i].pid)
        document.all.list.options[i]=new Option(PInfo[i].pname)
        document.all.pprice.value=PInfo[i].pprice
      }
    }
    function calc(){
    if (document.all.q.value.length>0){
    document.all.result.value=document.all.pprice.value*document.all.q.value
    }
    }
    function changelist(x){
    document.all.pid.options[x].selected=true;
    document.all.list.options[x].selected=true;
    document.all.pprice.value=PInfo[x].pprice
    }
    </script>
    </BODY>
    </HTML>
      

  2.   

    <HTML>
    <HEAD>
    </HEAD>
    <BODY >
    <input name=pid onchange="document.all.pid2.value=this.value;changelist();">
    <select name="pid2" onChange="changelist(this.selectedIndex)">
    <option value="" pName="" pPrice="">
    <option value="001" pName="墨盒" pPrice="360.00">墨盒(001)
    <option value="002" pName="打印纸" pPrice="60.00">打印纸(002)
    <option value="003" pName="打印机" pPrice="2200.00">打印机(003)
    </select>
    <input name="pprice" type="text" id="pprice" size="12" onpropertychange="calc()">* 
    <input name="q" type="text" id="q" size="8" onpropertychange="calc()">= 
    <input name="result" type="text" id="result">
    <script language="JavaScript" type="text/JavaScript">
    function calc(){
    document.all.result.value=document.all.pprice.value*document.all.q.value;
    }function changelist(){
        var x=document.all.pid2.selectedIndex;
        if(x==-1) 
        {
          document.all.pid2.options[0].selected=true;
          x=0;
        }
    document.all.pprice.value=document.all.pid2.options[x].pPrice;
    calc();
    }
    </script>
    </BODY>
    </HTML>