jQuery:将文本转换为整数(输入值)的问题
我在我的一页上使用了以下代码,我不知道交换机如何识别这是一个数字,因为它总是失败 我的值是一个变化的标准整数,如果我硬编码它,代码可以正常工作,但如果我只是将其转换为变量,则不会。我也试过parseInt。我总是得到<1的结果,因为它将我的数字读取为text/0。 输入值由PHP填充 我希望这里有人能帮我 我的输入字段:jQuery:将文本转换为整数(输入值)的问题,jquery,string,numbers,number-formatting,Jquery,String,Numbers,Number Formatting,我在我的一页上使用了以下代码,我不知道交换机如何识别这是一个数字,因为它总是失败 我的值是一个变化的标准整数,如果我硬编码它,代码可以正常工作,但如果我只是将其转换为变量,则不会。我也试过parseInt。我总是得到
<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对我来说是同样的问题。