繁体   English   中英

输入类型编号无法正常工作

[英]Input type number not working properly

我的表格具有以下字段:

<div class="form-group">
            <label for="num_auto_tests">Automated Tests</label>
            <input type="number" class="form-control" id="num_auto_tests" placeholder="0">
</div>

显然,我将input type="number"设置为input type="number" 但是,当我这样做时:

typeof($("#num_auto_tests).val())返回string -这弄乱了我的计算。我能做些什么使它“真正”成为数字吗?

先感谢您。

是的,文本字段的值是string 您需要执行类型转换才能转换为数字。

有两种方法。 Number()parseInt() 这是一个例子

typeof(Number($("#num_auto_tests").val()));
=> number

另外,如注释中所述,您还可以通过在加号前加上一个字符串来将字符串强制转换为数字。

typeof(+($("#num_auto_tests").val()));

在您的控制台中尝试

+("45")
=> 45

您要确保将值强制转换为整数。 使用parseInt() : //www.w3schools.com/jsref/jsref_parseint.asp

HTML

<div class="form-group">
    <label for="num_auto_tests">Automated Tests</label>
    <input type="number" class="form-control" id="num_auto_tests" placeholder="0">
</div>

JavaScript的

<script type="text/javascript">

    var value = parseInt( $( '#num_auto_tests' ).val() );

</script>

如果要允许小数位数而不是强制整数,则可以使用parseFloat() : //www.w3schools.com/jsref/jsref_parsefloat.asp

<script type="text/javascript">

    var value = parseFloat( $( '#num_auto_tests' ).val() );

</script>

最后一个选择是使用Number()函数-http://www.w3schools.com/jsref/jsref_number.asp

<script type="text/javascript">

    var value = Number( $( '#num_auto_tests' ).val() );

</script>

请考虑将其解析为整数:

typeof parseInt($("#num_auto_tests").val(), 10);
=> number

如果要处理小数,则可以使用parseFloat()

发生的情况是您要限制用户可以“输入”的输入类型,这看起来与输入类型的文本不同。 但是,当您使用JQuery获取值时,您将获得它的字符串表示形式。 如果您需要使用数字,则可以通过以下任一方法对其进行解析:

var num = parseFloat($('#num_auto_tests').val())

要么

var num = parseFloat($('#num_auto_tests').val())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM