为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下为什么不管我选择哪个运算符,总是按照/这个来运算呢

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

      var x1=document.getElementById("txt1").value; 

    //获取第一个输入框的值

    var x2=document.getElementById("txt2").value;

//获取第二个输入框的值

    var sel=document.getElementById("select").value;

    var result="";

    switch(sel){

        case "+":

            result=parseFloat(x1) + parseFloat(x2);

            break;

        case "-":

            result=parseFloat(x1) - parseFloat(x2);

            break;

        case "*":

            result=parseFloat(x1) * parseFloat(x2);

            break;

        case "/":

            result=parseFloat(x1) / parseFloat(x2);

    }

     document.getElementById("fruit").value=result;    

            

    }

//获取选择框的值

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    //设置结果输入框的值 

    

   }

  </script> 

 </head> 

 <body>

   <input type='text' id='txt1' /> 

   <select id='select'>

<option value='+'>+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

   </select>

   <input type='text' id='txt2' /> 

   <input type='button' value=' = ' onclick="count()" /> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' />   

 </body>

</html>


正在回答

4 回答

(1)switch语句有问题,case语句的值如果是字符必须用’‘,你用的是“”(2)当switch后的表达式的值和case语句后的值相同时,从该位置向下执行,直到遇到break语句或者switch语句结束块。你的每个case语句后都没有break语句,即使你的select选的+号,程序也会依次执行+ -  *  /  后才结束程序,所以最后结果都是两数相除的结果。

0 回复 有任何疑惑可以回复我~

语法错误

0 回复 有任何疑惑可以回复我~

多了一个}这个,存在错误,去掉就行哈

0 回复 有任何疑惑可以回复我~

多打了个 } ,去掉就好了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问一下为什么不管我选择哪个运算符,总是按照/这个来运算呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信