我有一个 html表单,其中包含大约5个选择输入。每个输入都有一个数字值。选择时,我想将值返回为数字,而不是字符串。示例如下:
<p>Cop <select name="c_palat" id="c_palat">
<option value=0>0</option>
<option value=30>1</option>
<option value=60>2</option>
</select></p>
<p>Adult <select name="a_palat" id="a_palat">
<option value=45>1</option>
<option value=90>2</option>
<option value=135>3</option>
</select></p></div>
<script>
var c_palat = document.getElementById("c_palat");
var c_pal = c_palat.options[c_palat.selectedIndex].value;
var a_palat = document.getElementById("a_palat");
var a_pal = a_palat.options[a_palat.selectedIndex].value;
var x =c_pal + a_pal
document.getElementById("result").innerHTML = x;
</script>
因此,对于从第一个输入选择选项1(值0)和从第二个输入选择选项1(值45),结果为 045 (字符串),而不是 45 (数)。 感谢您提供的任何帮助。祝你有愉快的一天。
答案 0 :(得分:2)
尝试使用数字 这会将字符串转换为数字。
<script>
var c_palat = document.getElementById("c_palat");
var c_pal = Number(c_palat.options[c_palat.selectedIndex].value);
var a_palat = document.getElementById("a_palat");
var a_pal = Number(a_palat.options[a_palat.selectedIndex].value);
var x =c_pal + a_pal
document.getElementById("result").innerHTML = x;
</script>
答案 1 :(得分:1)
您可以将值解析为整数。
var a = parseInt("10") + "<br>";
var b = parseInt("10.00") + "<br>";
var c = parseInt("10.33") + "<br>";
var d = parseInt("34 45 66") + "<br>";
var e = parseInt(" 60 ") + "<br>";
var f = parseInt("40 years") + "<br>";
var g = parseInt("He was 40") + "<br>";
var h = parseInt("10", 10)+ "<br>";
var i = parseInt("010")+ "<br>";
var j = parseInt("10", 8)+ "<br>";
var k = parseInt("0x10")+ "<br>";
var l = parseInt("10", 16)+ "<br>";
var n = a + b + c + d + e + f + g + "<br>" + h + i + j + k +l;
输出:
10 10 10 34 60 40 NaN 10 10 8 16 16
答案 2 :(得分:0)
您可以使用parseFloat()
。它会将字符串转换为数字。并使用直接方法c_palat.value
代替options[c_palat.selectedIndex]
var c_palat = document.getElementById("c_palat");
var c_pal = parseFloat(c_palat.value);
var a_palat = document.getElementById("a_palat");
var a_pal = parseFloat(a_palat.value);
var x = c_pal + a_pal
console.log(x)
//document.getElementById("result").innerHTML = x;
&#13;
<p>Cop <select name="c_palat" id="c_palat">
<option value=0>0</option>
<option value=30>1</option>
<option value=60>2</option>
</select></p>
<p>Adult <select name="a_palat" id="a_palat">
<option value=45>1</option>
<option value=90>2</option>
<option value=135>3</option>
</select></p>
&#13;
答案 3 :(得分:0)
您可以使用~~(双位按不)将字符串转换为仅整数
var c_palat = ~~(document.getElementById("c_palat").value);
var a_palat = ~~(document.getElementById("a_palat").value);
var x = c_palat + a_palat;
console.log(x);
<p>Cop <select name="c_palat" id="c_palat">
<option value=0>0</option>
<option value=30>1</option>
<option value=60>2</option>
</select></p>
<p>Adult <select name="a_palat" id="a_palat">
<option value=45>1</option>
<option value=90>2</option>
<option value=135>3</option>
</select></p>