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 我的输出将是 52 而不是 7,它正在被连接起来

4

6 回答 6

0

你应该使用parseInt()

store.value = ( parseInt(stockBal) + parseInt(openingBal) ) - parseInt(sold);
于 2013-05-29T09:35:31.367 回答
0

我认为这是因为使用 getElementById("id").value 检索到的所有变量都是“字符串”。尝试这样做:

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

希望这会有所帮助。

于 2013-05-29T09:35:33.277 回答
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
   }

由于您将两个字符串连接在一起,“5”+“2”=“52”

于 2013-05-29T09:31:54.647 回答