本文介绍如何利用 jQuery 在表单提交前拦截 submit 事件,动态检查并修改搜索关键字的值。通过判断关键字是否已包含特定词汇(如“教程”),若未包含则自动拼接追加,从而实现全站搜索中特定栏目的精准过滤效果。
jQuery 修改表单提交值:自动追加特定关键字实现精准搜索
在开发公司项目过程中,曾遇到一个实际需求:
我们需要在二级栏目的搜索场景中,判断用户是否输入了该栏目特有的关键词(例如“教程”)。由于系统采用全站搜索模式,若不加限制,搜索结果往往数量庞大且杂乱。因此,我们希望确保在“教程”栏目下的搜索结果仅包含与教程相关的内容。为此,我们对搜索关键词的处理逻辑进行了一些优化,具体实现代码如下:
具体代码实现如下:
$('#search-form').submit(function() {
// 获取关键字输入框元素
$keyword = $('#keyword');
// 检查关键字中是否已包含“教程”
if($keyword.val().indexOf('教程') < 0)
{
$keyword.val($keyword.val() + '教程');
}
});
通过上述代码即可实现预期功能。当用户搜索“CSS教程”时,程序会检测关键字中是否已存在“教程”二字,若存在则不执行拼接操作;若用户仅搜索“CSS”,程序会自动将“教程”追加到关键词末尾,形成“CSS教程”进行实际搜索。
希望这段代码能对读者有所帮助。