javascript - 仅在任意字段输入 3 个字符后才开始搜索

标签 javascript jquery spring hibernate jsp

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

最佳答案

如果我理解正确的话,您只想在多个字段之一包含 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/

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

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

关于javascript - 仅在任意字段输入 3 个字符后才开始搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11265529/

相关文章:

java - Spring boot @MockBean 疏远行为

javascript - 调用按键 :Value pair in Google Apps Script is returning "Undefined" instead of the value

javascript - 为类中的所有元素添加唯一的监听器

php - Laravel 5 如何返回带有 response()->json() 的模板?

java - Spring-batch @BeforeStep 不适用于 @StepScope

java - 如何使用配置文件运行 gradle?重复 key : spring

javascript - 在 Jquery 重复表行中添加总计

javascript - 使用angularjs在 View 页面中拆分冒号

javascript - 如何以更新的状态每 x 秒调用一次函数(React)

javascript - jQuery 的显示/隐藏不适用于未附加到 DOM 的元素(3.0 中发现的重大更改)