Jquery简单实现前端搜索功能

 如果html页有很长的列表,我们自然想到了需要检索展示功能,本文用简单的方式实现了检索功能,首先是搜索的列表如下

<div id="show">
<div class="item">itemA</div>
<div class="item">itemB</div>
<div class="item">itemC</div>
<div class="item">itemD</div>
<div class="item">itemE</div>
<div class="item">.......</div>
<div class="item">itemZ</div>
<div>

功能要求:输入关键词D,检索出内容列表,比如输入E,检索出:

<div id="show">
<div class="item">itemE</div>
<div>

 输入空,检索出所有的内容

用一个隐藏的副本做为搜索源,内容如下:

<div id="hidden" style="display:none">
<div class="item">itemA</div>
<div class="item">itemB</div>
<div class="item">itemC</div>
<div class="item">itemD</div>
<div class="item">itemE</div>
<div class="item">.......</div>
<div class="item">itemZ</div>
<div>

 引入JQuery可以方便我们搜索,设定一个搜索的input

<input type="text" placeholder="搜索内容.." οnkeyup="return searchKeyPress(window.event)" id="search-text">

 

添加搜索的JS

function searchKeyPress(e){
    var keynum = window.event ? e.keyCode : e.which;
    if(13 == keynum
        || (keynum >= 65 && keynum <=90)
        || (keynum >= 97 && keynum <=122)
        || 8 == keynum){
        searchDomain();
    }
}

function searchDomain() {
    var searchText = $("#search-text").val();
    if(searchText != "" && searchText != null){
        var html = "";
        searchText = searchText.toLowerCase();
        $("#hidden .item").each(function(){
            var dataVal = $(this).text();
            dataVal = dataVal.toLowerCase();
            if(dataVal.indexOf(searchText) > -1){
                html = html + "<div class='item'>" + $(this).html() + "</div>";
            }
        })
        if(html != ""){
            $("#show").html(html);
        }
    } else {
        $("#show").html($("#hidden").html());
    }
}

 

记得用toLowerCase(),这样可以大小写模糊匹配,另外获取div内容的时候,用JQuery选择器不能获取整个html的内容,只能用这种本方法来拼接div了,html = html + "<div class='item'>" + $(this).html() + "</div>"; 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现搜索页面的局部刷新,可以使用 AJAX 技术。 首先,在前端页面中,需要编写一个搜索表单,用于提交搜索请求。同时,需要在页面中添加一个用于显示搜索结果的区域,例如一个 div 元素。 然后,在 JavaScript 中,使用 AJAX 发送搜索请求。可以使用 jQuery 的 $.ajax() 函数来发送请求。在请求成功时,将搜索结果显示在前面添加的 div 元素中。 下面是一个简单的示例代码: HTML: ``` <form id="search-form"> <input type="text" name="keyword"> <button type="submit">搜索</button> </form> <div id="search-result"></div> ``` JavaScript: ``` $(document).ready(function() { $('#search-form').submit(function(event) { event.preventDefault(); var keyword = $('input[name="keyword"]').val(); $.ajax({ url: 'search.php', type: 'GET', data: { keyword: keyword }, success: function(result) { $('#search-result').html(result); } }); }); }); ``` 在上面的代码中,当搜索表单被提交时,使用 AJAX 发送 GET 请求到 search.php 文件,并将搜索关键字作为参数传递。当请求成功时,将搜索结果显示在 id 为 search-result 的 div 元素中。 在后端 PHP 文件 search.php 中,根据传递的搜索关键字执行搜索操作,并返回搜索结果的 HTML 代码。例如: ``` <?php $keyword = $_GET['keyword']; // 执行搜索操作 // $result = ... ?> <ul> <?php foreach ($result as $item): ?> <li><?php echo $item; ?></li> <?php endforeach; ?> </ul> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值