我有一个功能所以说我有一个列表:
如果我单击说3号,则会删除数字3,并且所有大于此值的值将被一个带走,所以它最终看起来像这样:
唯一的问题是,一旦我们开始进入十分之一,该功能就不起作用,例如,如果我有:
它的意思是,如果我喜欢9:
但它是这样的:
$("button").each(function(){
if (pad2(cl_on)<pad2($(this).val())){
$(this).val($(this).val()-1);
}
});
我确实有一个修复,这个上升到99但是一旦我转到100以后同样的问题resurects,这是我必须修复它的功能达到99 ...
function pad2(number){ return(数字&lt; 10?“0”:“”)+ number}
即使必须使用此功能也一定有问题......有人可以帮助我,所以如果我达到1000或10000,我再也没有这个问题吗?
答案 0 :(得分:1)
将字符串转换为数字,例如使用一元+
。您还可以将代码简化为:
$("button").val(function(i, val) {
return +cl_on < +val ? val - 1 : val;
});
正如我在评论中所说,您正在比较字符串,而在词汇(?)顺序中,10
例如在2
之前。
答案 1 :(得分:0)
Felix所说的,或使用parseInt()来实现同样的目标;
$("button").each(function(){
if (parseInt(cl_on, 10) < parseInt($(this).val(), 10)){
$(this).val(parseInt($(this).val(), 10) - 1);
}