gpt4 book ai didi

javascript - InArray 无法识别 this.value 但可以识别普通数字

转载 作者:太空宇宙 更新时间:2023-11-04 15:28:17 27 4
gpt4 key购买 nike

$('#something').on("keydown", function(e) {
var x = [0,6,7,3,2];
var y = this.value;
var z = $.inArray(y, x);
if(z > -1){
alert('EXISTS');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='number' id='something'>

当我 y = this.value 时,我的代码不起作用,但如果我将其替换为 y = 0; 它会按预期工作,为什么不会它适用于y = this.value

最佳答案

问题是因为您的数组充满了整数,但 this.value 是一个字符串。您需要转换类型以匹配。

另请注意,使用 keyupinputkeydown 更有意义,否则前一个值将仅在下一个事件上计算发生。试试这个:

$('#something').on("input", function(e) {
var x = [0, 6, 7, 3, 2];
var y = parseInt(this.value, 10);
var z = $.inArray(y, x);
if (z > -1) {
console.log('EXISTS');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='number' id='something'>

关于javascript - InArray 无法识别 this.value 但可以识别普通数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com