Jquery检查数组执行函数

Jquery检查数组执行函数,jquery,arrays,Jquery,Arrays,我正在创建一个网站,需要一个非常小的邮政编码检查器。我有大约8个邮政编码前缀,HX,HD,BD,LS等在一个数组中。我也有一个简单的输入字段和提交btn。当用户键入邮政编码(例如HX5 9DU)时,我希望Jquery检查数组,如果前2/3个字母匹配,我希望div淡入显示消息 我该怎么做?非常感谢。这里有一种方法: HTML: 一些相关的jQuery文档: .hide() $.inArray() .fadeIn() .keyup() .val() 编辑: 在运行jQuery代码时,通常最好在

我正在创建一个网站,需要一个非常小的邮政编码检查器。我有大约8个邮政编码前缀,HX,HD,BD,LS等在一个数组中。我也有一个简单的输入字段和提交btn。当用户键入邮政编码(例如HX5 9DU)时,我希望Jquery检查数组,如果前2/3个字母匹配,我希望div淡入显示消息


我该怎么做?非常感谢。这里有一种方法:

HTML:


一些相关的jQuery文档:

.hide()

$.inArray()

.fadeIn()

.keyup()

.val()


编辑:

在运行jQuery代码时,通常最好在加载文档后运行代码。你可以用几种不同的方法来做

$(document).ready(function() {
    // My jQuery code
});

两者将完成相同的任务

我更新了答案,加入了第二个版本


奖金:

如果用户为前两个字符键入小写字符,则此版本将使用大写版本更新输入

编辑:此外,如果在数组中找不到匹配项,则会显示失败消息


我想最好是让一些服务器端的演员参与这一集

做一些类似于:

$.getJSON('/CheckPrefix', { query = $('#prefixInpunt').val() }, function(responseMsg) {
    $('#messageDiv').show().html(responseMsg);
})

您可以将所有代码存储在数据库中,然后使用json调用中获得的参数查询数据库,并在服务器上创建消息并将其发送到UI。

Patrick我是否遗漏了什么?我无法让它在您的示例或本地机器上运行。谢谢。有几个基本问题-在代码运行之前是否加载了jQuery库?代码是否设置为在加载文档后运行?我将更新第二个问题的答案,但请让我知道第一个问题。很抱歉,Patrick刚刚意识到它区分大小写!如果用户添加了错误的邮政编码,我将如何处理?这不是问题。我更新了答案,将
firstTwo
中存储的值转换为大写
var firstTwo=value.substr(0,2).toUpperCase()应该照顾好你。我也更新了JSFIDLE链接。为您添加了一个奖励。我添加了一个版本,如果将前两个字符中的一个(或两个)键入为小写,则将其转换为大写。
$(document).ready(function() {
    // My jQuery code
});
$(function() {
    // My jQuery code
});
$(function() {
    $("#message").hide();
    $("#fail").hide();

    var prefix = ['HX', 'HD', 'BD', 'LS']

    $('#myInput').keyup(function(e) {
        var value = $(this).val();
        var firstTwo = value.substr(0,2);
        var firstTwoUpper = firstTwo.toUpperCase();

        if(firstTwo != firstTwoUpper) {
            $(this).val( value.replace(/^\w\w/, firstTwoUpper) );
        }
        if(value.length > 1) {
            if($.inArray(firstTwoUpper, prefix) >= 0) {
                $("#fail").hide();
                $("#message:hidden").fadeIn();
            } else {
                $("#message").hide();
                $("#fail:hidden").fadeIn();
            }
        } else {
            $("#message").hide();
            $("#fail").hide();
        }
    });
});
​
$.getJSON('/CheckPrefix', { query = $('#prefixInpunt').val() }, function(responseMsg) {
    $('#messageDiv').show().html(responseMsg);
})