有一个输入字段,如下所示,
<input class="form-control" type="number" name="recieved_by_quantity" id="quantity" />
动态地,将值分配给输入标记,如下所示,
document.getElementById('quantity').value = qu; //var qu=11 lets say
现在,我想要的是,如果用户手动输入大于&#34; qu&#34;的值,则该值会自动更改为&#34; qu&#34;。
我为此所做的就像是,
document.getElementById('quantity').addEventListener("change", function() {
var qc = this.value;
if(qc>qu) {
this.value = qu;
}
});
正在发生的奇怪事情是,如果我输入从2到无穷大的任何值,它将所有值都改为11.只有它不改变的值是0,1,10,100,1000,10000等等。 我完全糊涂了。请帮忙。
答案 0 :(得分:2)
简单,使用parseInt获取文本区域的实际数值。
您默认收到字符串。
this.value给你'11' parseInt(this.value)给你11。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<input class="form-control" type="number" name="recieved_by_quantity" id="quantity" />
</body>
<script>
var qu = 11;
document.getElementById('quantity').value = qu;
document.getElementById('quantity').addEventListener("change", function() {
var qc = parseInt(this.value);
if(qc>qu) {
this.value = qu;
}
});
</script>
</html>
答案 1 :(得分:0)
使用parseInt
void Move(double sourceLatitude, double sourceLongitude, double speed, double bearingOrDirection, double turnRate, double destinationLatitude, double destinationLongitude)
{
// code goes here
}