Javascript 一旦值增加,数字就停止工作
我有一个函数,所以我有一个列表:Javascript 一旦值增加,数字就停止工作,javascript,jquery,Javascript,Jquery,我有一个函数,所以我有一个列表: 1,2,3,4,5,6,7,8,9 如果我点击数字3,数字3会被删除,所有大于这个值的值都会被一个删除,所以它会变成这样: 1,2,3,4,5,6,7,8 唯一的问题是,一旦我们开始进入十分之一,函数就不能工作,例如,如果我有: 8,9,10,11,12,13 它的意思是如果我照9的样子: 8,9,10,11,12 但事情是这样的: 8,10,11,12 一旦我们达到两位数,就完全忽略了。。。。以下是我所拥有的: $("button").each(functio
$("button").each(function(){
if (pad2(cl_on)<pad2($(this).val())){
$(this).val($(this).val()-1);
}
$(“按钮”)。每个(函数(){
如果(pad2(cl_on)将字符串转换为数字,例如使用一元+
。您还可以将代码简化为:
$("button").val(function(i, val) {
return +cl_on < +val ? val - 1 : val;
});
$(“按钮”).val(函数(i,val){
返回+cl_on<+val?val-1:val;
});
正如我在评论中所说,您正在比较字符串,并且在词法(?)顺序中,10
位于2
之前。Felix所说的,或者使用parseInt()实现相同的结果
$("button").each(function(){
if (parseInt(cl_on, 10) < parseInt($(this).val(), 10)){
$(this).val(parseInt($(this).val(), 10) - 1);
}
$(“按钮”)。每个(函数(){
if(parseInt(cl_on,10)
你说“如果我点击say number 3,所有大于此值的值都将被删除”,但是如果你点击3,你肯定会留下列表1,2,3
?但是你留下了很多大于3的数字?我有一个函数,所以说我有一个列表什么?如果我点击say number 3,所有大于此值的值(…)那么为什么只删除了9呢?你的问题不清楚。但从我看到的情况来看,你比较字符串而不是数字,'10'<'2'
,但是2<10
,这似乎是你的问题。所以数字3被删除了,然后所有大于3的值都被1删除了……对不起!