Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:将文本转换为整数(输入值)的问题_Jquery_String_Numbers_Number Formatting - Fatal编程技术网

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

jQuery:将文本转换为整数(输入值)的问题,jquery,string,numbers,number-formatting,Jquery,String,Numbers,Number Formatting,我在我的一页上使用了以下代码,我不知道交换机如何识别这是一个数字,因为它总是失败 我的值是一个变化的标准整数,如果我硬编码它,代码可以正常工作,但如果我只是将其转换为变量,则不会。我也试过parseInt。我总是得到

我在我的一页上使用了以下代码,我不知道交换机如何识别这是一个数字,因为它总是失败

我的值是一个变化的标准整数,如果我硬编码它,代码可以正常工作,但如果我只是将其转换为变量,则不会。我也试过parseInt。我总是得到<1的结果,因为它将我的数字读取为text/0。 输入值由PHP填充

我希望这里有人能帮我

我的输入字段:

<input type="hidden" class="span12" id="daysRest" name="daysRest" value="40" />
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);   

我要使用它的代码:

<input type="hidden" class="span12" id="daysRest" name="daysRest" value="40" />
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);   
daysRest=$('#daysRest').val();
开关(真)
{
案例(日期列表<-999):
bulletColor='白色';
daysResttxt='';
打破
病例(daysRest<0):
bulletColor=‘红色’;
daysResttxt=daysRest+“剩余天数”;
打破
病例(daysRest<1):
bulletColor=‘红色’;
daysResttxt='剩余不足1天';
打破
病例(最短天数<4天):
bulletColor=‘黄色’;
daysResttxt=daysRest+“BD剩余”;
打破
违约:
bulletColor='白色';
daysResttxt='';
打破
}
$(#daysRest').val(daysRest);
$('#spanRest').text(daysResttxt);

非常感谢您的帮助,Tim。

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

替换此项:

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


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

替换此项:

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


在PHP中只需要一个foreach循环,因此我将上面的所有内容都移到了那里-现在可以正常工作了。
谢谢。

在PHP中只需要一个foreach循环,所以我将上面的所有内容都移到了那里-现在一切正常。
谢谢。

返回的
parseInt
是一个
NaN
?@RagenDazs:这正是我所拥有的,为什么它为我返回了错误的颜色,因为它无法识别这里的数字。有没有一种方法可以重写开关以使其工作?使用pass empty string时,parseInt不会返回0-您可以使用
alert($(''daysRest').val()+'-'+parseInt($('daysRest').val())进行调试毕竟,您可以使用任何其他调试程序。那是因为
parseInt(“”);//结果是NaN
好,但NaN对我来说是同一个问题。
parseInt
的返回是一个
NaN
?@RagenDazs:这正是我所拥有的,为什么它返回了错误的颜色,因为它无法识别这里的数字。有没有一种方法可以重写开关以使其工作?使用pass empty string时,parseInt不会返回0-您可以使用
alert($(''daysRest').val()+'-'+parseInt($('daysRest').val())进行调试毕竟,您可以使用任何其他调试程序。那是因为
parseInt(“”);//结果是NaN
Ok,但NaN对我来说是同样的问题。