Javascript 输入字段的属性maxlength正在更改,但输入不';我不在乎

Javascript 输入字段的属性maxlength正在更改,但输入不';我不在乎,javascript,jquery,input,attr,Javascript,Jquery,Input,Attr,我有一个函数来限制用户可以在我的游戏输入字段中输入的字符数。它可以工作,但如果长度减少1个或更多,用户仍然可以输入1个或更多字符,而不是他们应该能够输入的字符 我检查了检查器,它甚至显示maxlength更改正确。但是,无论出于何种原因,它仍然允许用户输入一个长度,该长度等于该变量在同一会话中所等于的最大字符数。是虫子吗?有没有办法让它正常工作 my_var = 150000; //this var changes often, can go down to 0 or up to 1000000

我有一个函数来限制用户可以在我的游戏输入字段中输入的字符数。它可以工作,但如果长度减少1个或更多,用户仍然可以输入1个或更多字符,而不是他们应该能够输入的字符

我检查了检查器,它甚至显示maxlength更改正确。但是,无论出于何种原因,它仍然允许用户输入一个长度,该长度等于该变量在同一会话中所等于的最大字符数。是虫子吗?有没有办法让它正常工作

my_var = 150000; //this var changes often, can go down to 0 or up to 1000000000

function limitNumberOfCharacters() {
    x = my_var.toString().length;
    $('.my_input_class').attr('maxlength', x);
}

limitNumberOfCharacters(); //this gets called often
编辑:

edittt: 您正在使用
x
作为全局变量,并且可能与代码中的其他变量不同。使用
var x=my_var.toString().length(强调
var

老实说,看到这段代码后,我担心会有更多的潜在问题,但我所做的只是在
xyz
之前添加
var
,它的工作方式与您希望的一样

还修复了上一次下注金额返回到输入字段的问题。现在,结果是一个空白字段

干杯

尝试使用此小提琴:

像在代码中一样使用html输入,无需为其指定maxlength属性

<input type="text" class="my_input_class"/>

看起来很好,为什么要将其转换为字符串并检查字符串的长度?为什么这个
x=my\u var
或this
$('.my\u input\u class').attr('maxlength',my\u var)@codehorse Arun是正确的,您的代码正在运行。听着,不,伙计,我不认为是这样。你的代码绝对正常。这是它的提琴@codehorse如果你的数字格式像
1,2,3
那么你的字符串长度总是
1
。。。
my_var = 25; //this var changes often, can go down to 0 or up to 1000000000

function limitNumberOfCharacters() {
    x = my_var.toString().length;
    $('.my_input_class').attr('maxlength', x);
}

limitNumberOfCharacters();