jQuery:将文本转换为整数(输入值)的问题

use*_*510 1 string jquery numbers number-formatting

我在我的页面上使用以下代码,在该页面上我无法弄清楚开关如何将其识别为数字,因为它始终会失败。

我的值是一个变化的标准整数,并且如果我对其进行硬编码,则代码可以正常工作,但是当我将其仅用于变量时,代码则可以正常工作。我也尝试了parseInt。我总是得到<1的结果,因为它将我的数字读取为text /0。输入值用PHP填充。

我希望这里有人可以帮助我。

我的输入字段:

<input type="hidden" class="span12" id="daysRest" name="daysRest" value="40" />
Run Code Online (Sandbox Code Playgroud)

我要在其中使用的代码:

daysRest = $('#daysRest').val();

            switch(true) 
            {
                case(daysRest < -999):
                    bulletColor = 'white';
                    daysResttxt = '';
                    break;
                case(daysRest < 0):
                    bulletColor = 'red';
                    daysResttxt = daysRest + ' days remaining';
                    break;
                case(daysRest < 1):
                    bulletColor = 'red';
                    daysResttxt = 'less than 1 day remaining';
                    break;
                case(daysRest < 4):
                    bulletColor = 'yellow';
                    daysResttxt = daysRest + ' BD remaining';
                    break;
                default:
                    bulletColor = 'white';
                    daysResttxt = '';
                    break;
            }

            $('#daysRest').val(daysRest);
            $('#spanRest').text(daysResttxt);   
Run Code Online (Sandbox Code Playgroud)

蒂姆,非常感谢您对此提供的任何帮助。

Awl*_*ton 5

您需要将字符串解析为整数。使用parseInt()。它将字符串解析为整数。

替换为:

daysRest = $('#daysRest').val();
Run Code Online (Sandbox Code Playgroud)

通过

daysRest = parseInt($('#daysRest').val());
Run Code Online (Sandbox Code Playgroud)

工作演示