我正在尝试根据预定义的数组值检查用户输入,以确保用户输入的内容是有效输入。
为此,我正在使用jQuery的$.inArray()
函数。它需要两个参数:要检查的值和要检查的数组。如果找到,则返回数组中的值的索引,如果不是,则返回-1。
但是,当我使用$.inArray()
函数时,它似乎无法识别genreArray
数组(请参阅下面的代码)。虽然这里没有显示,但genreArray
变量在函数调用中没有正确的语法高亮显示。此外,似乎执行if
检查,因为控制台上没有显示任何内容(甚至不是错误)。
if
语句语法运行正常 - 我将代码替换为if (1 === 1)
,代码执行得很顺利。
此外,变量声明的放置似乎也不重要。我把它放在代码中每个重要点之前/之后,结果没有区别。
我还排除了genre
变量的任何问题。
非常感谢您的帮助。
$(document).ready(function() {
var genreArray = [...];
$('.menu').click(function() {
var genre = $('#genreName').val().split(' ').join('+');
$('#error').text('');
if ($.inArray(genre, genreArray) != -1) {
$('#error').text('Sorry, this is not a valid genre.');
}
})
})