这是我的剧本..
<script>
function myFunction()
{
var y=$("#text").val();
var z=10;
var x=y+z;
var demoP=document.getElementById("demo")
demoP.innerHTML="x=" + x;
}
</script>
它读取文本字段的值并添加值。但它执行连接而不是添加。我怎样才能解决这个问题。??
答案 0 :(得分:1)
var y=parseInt( $("#text").val() );
答案 1 :(得分:1)
因为输入的值是文本。
您需要将其转换为数字。
var x = +(y) + z;
+(y)
会安全地将其设为数字,如果是数字。
答案 2 :(得分:1)
这一行:
var y=$("#text").val();
返回一个字符串。
您需要做的是使用以下方法之一将此结果转换/强制转换为数字:
var y = parseInt($("#text").val(), 10);
var y = parseFloat($("#text").val()); // returns a floating point number
var y = Number($("#text").val());
var y = +$("#text").val();
答案 3 :(得分:0)
尝试:
var y=parseInt($("#text").val());
var z=10;
var x=y+z;
答案 4 :(得分:0)
输入值始终是字符串,添加带数字的字符串将始终以字符串形式结束。
要解决此问题,请将字符串转换为parseInt
或parseFloat
的数字,具体取决于值(整数或浮点数),或者只需将其转换为带有加号的数字类型在它面前的操作员:
var y = +$("#text").val();
var z = 10;
var x = y+z;