if(s2.value = "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
else if(s2.value = "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
else if(s2.value = "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
else if(s2.value = "a4") {dqx.value = decimal(330 + inputQ.value * 45,2);}

解决方案 »

  1.   

    我想应该在最后加个else不然的话只走一句话
      

  2.   

    这种判断是不是用switch好点呢?
      

  3.   

    (s2.value = "a1")   这是什么啊,你的所有的else if都不会执行
    应该是s2.value == "a1"  吧
      

  4.   

    (s2.value = "a1") 这是什么啊,你的所有的else if都不会执行
    应该是s2.value == "a1" 吧
    同上~~~~~~
      

  5.   

    只看else if看不出任何问题,难道没有任何错误提示??
      

  6.   

    s2.value = "a2"
    加了双== 最后再加个else
    同上``````
      

  7.   

    switch()
    {
    case "";
    }
    这样好一些
      

  8.   

    a1 a2 a3 是列表菜单的值
      

  9.   

    if(s2.value = "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
    else if(s2.value = "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
    else if(s2.value = "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
    else {dqx.value = decimal(880 + inputQ.value * 45,2);}加else 也白搭,还是只读第一名
      

  10.   

    加else 也白搭,还是只读第一句
      

  11.   

    最好把完整代码发上来看看,或者自己在Safari或Chrome的Javascript控制台检查错误信息。
      

  12.   


    dqx.value = {
           "a1" : decimal(180 + inputQ.value * 49,2),
           "a2" : decimal(160 + inputQ.value * 44,2),
           "a3" : decimal(140 + inputQ.value * 44,2),
           "a4" : decimal(330 + inputQ.value * 45,2)
    }[s2.value] || "";
      

  13.   

    BTW:我猜测“switch”的内部机制就是我上面写的关联数组调用。
      

  14.   

    if条件中必须是bool值,如果为true就执行该分支,否则跳过该分支。把条件中的=改为==。
    “=”表示赋值
    "=="表示判等if(s2.value == "a1") {
            dqx.value = decimal(180 + inputQ.value * 49,2);
        }else if(s2.value == "a2") {
    dqx.value = decimal(160 + inputQ.value * 44,2);
    }
    else if(s2.value == "a3") {
    dqx.value = decimal(140 + inputQ.value * 44,2);
    }
    else if(s2.value == "a4") {
    dqx.value = decimal(330 + inputQ.value * 45,2);
    }
      

  15.   

    应该用equals方法区比较吧。
    if(s2.value.equals("a1")){...;}
    else if(s2.value.equals("a2"))
    ...
      

  16.   

    在if语句中 应该是 ==吧  不是=  
    =是赋值
    ==是判断 很明显在if中应该是判断啊 
      

  17.   

    是不是因为缺少函数decimal
    <input type="text" id="inputQ" value="1">
    <select id="s2" onchange="kk()">
    <option value="a1" selected>a1</option>
    <option value="a2">a2</option>
    <option value="a3">a3</option>
    <option value="a4">a4</option>
    </select>
    <input type="text" id="dqx">
    <script type="text/javascript">
    <!--
    function kk(){ if(s2.value == "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
    else if(s2.value == "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
    else if(s2.value == "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
    else if(s2.value == "a4") {dqx.value = decimal(330 + inputQ.value * 45,2);} }
    function decimal(num){return parseInt(num*100)/100}
    //-->
    </script> 
      

  18.   

    很明显if(s2.value = "a1") 楼主可能想表达是赋值语句
    (s2.value == "a1") 
      

  19.   

    if(s2.value == "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
    else if(s2.value == "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
    else if(s2.value == "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
    else if(s2.value =="a4") {dqx.value = decimal(330 + inputQ.value * 45,2);}
    else{}
      

  20.   

    如果一个判断没有ELSE,那么IF后面必须加个RETURN
      

  21.   

    如果一个判断没有ELSE,那么IF后面必须加个RETURN
      

  22.   

    如果一个判断没有ELSE,那么IF后面必须加个RETURN
      

  23.   

    这个看来还可以,不过加上form怎么就不好用了呢很奇怪的
    <form id="myform" action="#">
    <input type="text" id="inputQ" value="1">
        <select id="s2" onchange="kk()">
            <option value="a1" selected>a1</option>
            <option value="a2">a2</option>
            <option value="a3">a3</option>
            <option value="a4">a4</option>
        </select>
        <input type="text" id="dqx">
            <script type="text/javascript">
            <!--
            function kk(){            if(s2.value == "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
    else if(s2.value == "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
    else if(s2.value == "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
    else if(s2.value == "a4") {dqx.value = decimal(330 + inputQ.value * 45,2);}            }
                function decimal(num){return parseInt(num*100)/100}
            //-->
            </script>
            </form>
      

  24.   

    <html>
    <head>
    <script type="text/javascript">
    function selectChange() {
        var inputQ = document.getElementById("inputQ");
        var dqx = document.getElementById("dqx");
        var s2 = document.getElementById("s2");
        if(s2.value == "a1") {dqx.value = Number(180 + inputQ.value * 49,2);}
        else if(s2.value == "a2") {dqx.value = Number(160 + inputQ.value * 44,2);}
        else if(s2.value == "a3") {dqx.value = Number(140 + inputQ.value * 44,2);}
        else if(s2.value == "a4") {dqx.value = Number(330 + inputQ.value * 45,2);}   }
    </script></head>
    <body><form id="myform" action="#">
    <input type="text" id="inputQ" value="1">
        <select id="s2" onchange="selectChange()">
            <option value="a1" selected>a1</option>
            <option value="a2">a2</option>
            <option value="a3">a3</option>
            <option value="a4">a4</option>
        </select>
        <input type="text" id="dqx">
            
        </form>
    </body>
    </html>
      

  25.   


    if(s2.value == "a1") {dqx.value = decimal(180 + inputQ.value * 49,2);}
    else if(s2.value == "a2") {dqx.value = decimal(160 + inputQ.value * 44,2);}
    else if(s2.value == "a3") {dqx.value = decimal(140 + inputQ.value * 44,2);}
    else if(s2.value == "a4") {dqx.value = decimal(330 + inputQ.value * 45,2);}=是赋值
    ==判断是否相等
      

  26.   

    <form id="myform" action="#">
    <input type="text" id="inputQ" value="1">
        <select id="s2" onchange="kk()">
            <option value="a1" selected>a1</option>
            <option value="a2">a2</option>
            <option value="a3">a3</option>
            <option value="a4">a4</option>
        </select>
        <input type="text" id="dqx">
            </form>        <script type="text/javascript">
            <!--
            function kk(){            if(document.getElementById("s2").value == "a1") {document.getElementById("dqx").value = decimal(180 + document.getElementById("inputQ").value * 49,2);}
    else if(document.getElementById("s2").value == "a2") {document.getElementById("dqx").value = decimal(160 + document.getElementById("inputQ").value * 44,2);}
    else if(document.getElementById("s2").value == "a3") {document.getElementById("dqx").value = decimal(140 + document.getElementById("inputQ").value * 44,2);}
    else if(document.getElementById("s2").value == "a4") {document.getElementById("dqx").value = decimal(330 + document.getElementById("inputQ").value * 45,2);}            }
                function decimal(num){return parseInt(num*100)/100}
            //-->
            </script>