我有2个输入框,所以我在每个输入框中输入“From”和“To”值。出于某种原因,它仅适用于某个范围,但无法弄清楚原因。
var from = $('#from').val();
var to = $('#to').val();
var total = '';
for (i = from; i <= to; i++)
{
if (i == to)
total += i;
else
total += i + ',';
}
console.log(total);
所以当做1-10这样的事情时这很有用但是我试过8-30或8-100不起作用......似乎无法弄明白为什么......
答案 0 :(得分:4)
您必须先将值(字符串)显式转换为数字,否则您会遇到字符串比较,即'2' > '100'
。
var from = +$('#from').val();
var to = +$('#to').val();
我正在使用一元+
运算符。你也可以用这个:
var from = parseInt($('#from').val(), 10);
var to = parseInt($('#to').val(), 10);
请参阅this answer以确定哪一个更适合您的用途。就个人而言,我会选择第一个,短而甜的:)。