1

入力ボックスに入力された値にアクセスして合計を取得したいのですが、javascript が結果を連結しています。ここにコードがあります

<script>

   $(document).ready(function(){
     $( "#dateSelector" ).click(function(){ 
    $(this).datepicker();
     });
   });

  $(document).ready(function(){
    $("#ocb750cb").click(function(){
      var closingBal = 0;
    var openingBal = document.getElementById("ocb750ob").value;
    alert(openingBal);
    Number(openingBal);
    var stockBal =  document.getElementById("ocb750sb").value;
    alert(stockBal);
    Number(stockBal);
    var sold = document.getElementById("ocb750sl").value; 
    alert(sold);
    var store = document.getElementById("ocb750cb");
        store.value = (stockBal + openingBal) - sold;
    });



 });



</script>



<th class = "main brand">OCB 750</th>
<th class = "main"><input type="text" maxlength="5" id="ocb750ob"></th>
<th class = "main"><input type="text" maxlength="5" id="ocb750sb"></th>
<th class = "main"><input type="text" maxlength="5" id="ocb750tl"></th>
<th class = "main"><input type="text" maxlength="5" id="ocb750sl"></th>
<th class = "main"><input type="text" maxlength="5" id="ocb750rs"></th>
<th class = "main"><input type="text" maxlength="5" id="ocb750cb"></th>

5 と 2 を入力すると、出力は 7 ではなく 52 になり、連結されます。

4

6 に答える 6

0

値には文字列形式があり、 parceIntを使用する必要があります

于 2013-05-29T09:31:43.777 に答える
0

テキストボックスの値はテキストです。それを数値にキャストする必要があります:

var openingBal = parseFloat(document.getElementById("ocb750ob").value);
于 2013-05-29T09:31:44.247 に答える
0

確実に parseInt(x) を使用する必要があります。その値は整数として解釈されます。それ以外の場合、javascript は文字列として解釈するため、+ 演算子は連結されます。

使用する:

 var openingBal = parseInt(document.getElementById("ocb750ob").value);

等。

于 2013-05-29T09:31:49.350 に答える
0
    var stockBal =  document.getElementById("ocb750sb").value;

stockbal は文字列になるため、解析して整数を取得する必要があります

   try{
      var stockBalInt = parseInt(stockBal);
   }catch(error){
    -..handle error
   }

2 つの文字列を連結するため、"5" + "2" = "52"

于 2013-05-29T09:31:54.647 に答える
0
于 2013-05-29T09:35:31.367 に答える
0

getElementById("id").value を使用して取得したすべての変数が「文字列」であるためだと思います。このようにしてみてください:

var sold = parseInt(document.getElementById("id").value);

これが役立つことを願っています。

于 2013-05-29T09:35:33.277 に答える