【问题标题】:search should start only after entering 3 characters in any field只有在任何字段中输入 3 个字符后才开始搜索
【发布时间】:2012-07-01 04:56:46
【问题描述】:

我在我的应用程序中使用 Spring MVC、hibernate 和 JSP。 目前我已经实现了搜索多个字段的功能,并使用 JavaScript 在 onKeyUp() 函数上调用了它。 但是现在我希望它仅在任何字段中至少有 3 个字符时才执行搜索。 例如,如果有 3 个字段,那么如果我在一个/两个字段中输入 1 或 2 个字符,在第三个字段中输入 3 个字符,那么它应该只在第三个字段的基础上调用搜索方法,它应该忽略来自其他字段的输入。 实现这一目标的简单方法是什么?

【问题讨论】:

  • 如果您已经在使用 jquery,为什么不使用它现有的自动完成功能,它有一个参数呢?否则,似乎很清楚如何 - 在字段超过 3 个字符之前不要发出请求,并且只发送该字段(或忽略其他字段)。

标签: javascript jquery spring hibernate jsp


【解决方案1】:

如果我理解正确,您只想在多个字段之一包含 3 个或更多字符时执行搜索功能。

仅基于该假设并且没有其他细节,以下内容应该起作用:

$('.fields').each(function(k, v){
    var obj = $(this);

    obj.keyup(function(){
        if(obj.val().length >= 3){
            // Execute submission
            alert(obj.val());
        }
    });
});

工作示例:http://jsfiddle.net/FtE9H/

以上代码假定您已将fields 类分配给应检查以执行搜索功能的所需字段。这可以修改为仅查看特定元素类型,但这取决于您的完整实现。

此外,您可以在成功匹配一个长度为 3 个或更多字符的值时清空其他字段,以避免与最终用户产生任何可能的混淆。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    相关资源
    最近更新 更多