我正在尝试将1
添加到我的JavaScript变量中,但以下代码未提供预期结果:
var val1 = document.getElementById('<%= rng1.ClientID %>');
var val2 = val1.value + "1";
alert(val2.value);
我该怎么做?
答案 0 :(得分:19)
你可以使用函数parseInt()将val1.value中存储的字符串转换为数字:
var val2 = parseInt(val1.value) + 1;
请注意,Number(val1.value)
也会将您的值转换为数字。
<强> -edit - 强>
正如yc建议的那样,强烈建议使用parseInt(val1.value, 10) + 1;
因为如果你的字符串以"0"
开头,则字符串被解释为八进制。例如。 parseInt("0123") == 83
而不是123
答案 1 :(得分:5)
最简单也是首选的方法是使用+
转换为数字。
<强>示例:强>
+'234'; // 234
+'042'; // 42! It does not convert to octal
在您的情况下:
var val1 = +(document.getElementById('<%= rng1.ClientID %>').value); // () added just for the looks
var val2 = val1.value + 1; // if val1 is 5, val2 will be 6 hooray!
alert(val2); // just val2, since it's a plain number not an html input element
答案 2 :(得分:1)
parseInt($('.scpContainer').height()+200)
答案 3 :(得分:0)
你必须添加号码,所以不加引号尝试: - )
答案 4 :(得分:0)
在外部JavaScript文件中,您无法使用<%=ControlID.ClientID %>
获取客户端ID。
如果您使用外部JavaScript文件,则需要将客户端ID值传递给该函数。