javascript
  • jquery
  • 2017-10-27 7 views 0 likes 
    0

    HTMLユーザー入力:jQueryの実行数学演算

    =110*200 
    

    のjQuery:

    $(document).on("change", ".calculator", function(){ 
         var value = $(this).val(); 
         if(value.charAt(0) == '='){ 
          var newval = value.slice(1); 
          console.log(parseInt(newval)); 
         } 
        }) 
    

    出力:

    110 
    

    誰もがどのように私はこれを使って、数学の操作を行うことができます教えてくださいすることができますプログラム?私はどこが間違っているのですか?

    答えて

    1

    これは、式自体を評価しないためです。文字列式を整数に変換し、式から識別可能な整数部分を取り出し、*文字で分割します。

    式をevalで評価すると、計算されます。または、Function construct as described in answer hereを使用してこの式を評価することもできます。

    $(document).on("change", ".calculator", function(){ 
     
         var value = $(this).val(); 
     
         console.log(value.charAt(0)); 
     
         if(value.charAt(0) == '='){ 
     
          var newval = value.slice(1); 
     
          console.log(parseInt(eval(newval))); 
     
          console.log(new Function('return ' + newval)()); 
     
         } 
     
        }) 
     
        
     
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <input class="calculator" type="text">

    関連する問題