解决方案 »

  1.   

    fRate你这个有毛用的也不说你就2个输入框,不就是输入平方米自动换算成另外2个?
      

  2.   

    rate是某一单位和主单位之间的换算比例
      

  3.   

    rate是某一单位和主单位之间的换算比例你需要计算的就2个框,你有3组值是来干嘛的。。完全没有联系
      

  4.   

    楼主,比率是固定的,这用一个函数就可以了吧
    changeValue2 和 changeValue3是干啥的?
    我私自大改了啊……
     <BODY>
    <script type="text/javascript">
    //10000平米 = 15亩 = 1公顷
    var fRate = [10000,15,1];
    function changeValue(type, obj){
    if (!obj.value) {
    //如果输入为0或空,清空所有输入框
    document.getElementById("input1").value = document.getElementById("input2").value = document.getElementById("input3").value = "";
    }
    else {
    var gq = parseFloat(obj.value)/fRate[type]; //先换算成公顷数
    document.getElementById("input1").value = gq*fRate[0];
    document.getElementById("input2").value = gq*fRate[1];
    document.getElementById("input3").value = gq;
    }
    }
    </script>平方米:<input type="text" id = "input1"  onkeyup="changeValue(0, this)"/></br>
      亩:<input type="text" id = "input2" onkeyup="changeValue(1, this)"/></br>
     公顷:<input type="text" id = "input3" value="" onkeyup="changeValue(2, this)"/></br></BODY>
      

  5.   

    我这还有个问题,输入小数点的时候会消失
    原因是onkeyup的时候触发计算会把输入值替换掉……
    改进了一下脚本部分变成这样:var fRate = [10000,15,1];
    function changeValue(type, obj){
    if (!obj.value) {
    //如果输入为0或空,清空所有输入框
    document.getElementById("input1").value = document.getElementById("input2").value = document.getElementById("input3").value = "";
    }
    else {
    var gq = parseFloat(obj.value)/fRate[type]; //先换算成公顷数
    if (type !=0 ) document.getElementById("input1").value = gq*fRate[0];
    if (type !=1 ) document.getElementById("input2").value = gq*fRate[1];
    if (type !=2 ) document.getElementById("input3").value = gq;
    }
    }
      

  6.   

    真的谢谢啊,帮我大忙了
    麻烦再看一下这个问题
    <body>
    <script type="text/javascript">
    //根据选择的单位换算input的值[input的值可能是3公顷、3亩、3平方米]
    var fRate = [10000,15,1];
    function selectChange(obj){

    var inputValue = document.getElementById("input0").value;

    alert(inputValue);
    if(obj.value=='公顷'){
    var gq = parseFloat(inputValue)/fRate[0]; //先换算成公顷数
    document.getElementById("input0").value = gq*fRate[0];
    }else if(obj.value=='亩'){
    var gq = parseFloat(inputValue)/fRate[1]; //先换算成公顷数
    document.getElementById("input0").value = gq*fRate[1];
    }
    }
    </script>

    <select onchange="selectChange(this)">
      <option value ="公顷">公顷</option>
      <option value ="亩">亩</option>
      <option value="平方米">平方米</option>
    </select></br></br></br></br></br> 这个input的值可能是3公顷、3亩、3平方米</br>
    <input type="text" value="3" id="input0"/>
    </body>