欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JS在前端页面做出全局搜索

程序员文章站 2022-03-21 09:25:37
...
这次给大家带来JS在前端页面做出全局搜索,JS在前端页面做出全局搜索的注意事项有哪些,下面就是实战案例,一起来看一下。

效果图如下所示:

JS在前端页面做出全局搜索

<input type="text" id="campus" class="layui-input" onkeyup="ck(this.value);" placeholder="请输入要查找的英语屋">//输入触发框 
<p class="layui-input-block layui-form" id="cam" lay-filter="cam">这个是要显示的校区的容器,渲染的就是这个页面</p>
//模板数据 
//因为这块用到了layui的语句和jfinal的语句,所以需要把layui的#用jfinal的#让layui当作普通字符串输出 
<script type="text/html" id="searchText"> 
    #for(x : CampusKit.findListByAccount(loginAccount))//jfinal的语句,循环 
    //这里把原来选择的数据显示出来,已经选择的数据,显示,如果不显示,保存的话,会把这些数据默认成没有选择的 
    #if(sysAccountCampusIds.contains(x.id.toString())) 
      <input type='checkbox' value="#(x.id)" name='campus'  
        #(sysAccountCampusIds.contains(x.id.toString()) ? 'checked="checked"':'') 
        title="#(x.campusName)" id='campusBox#(x.id)'> 
    #end   
//这里用到了layui的语句和jfinal的语句结合,#(x.campusName) jfinal 的语句,{{#("#") if(isContains("#(x.campusName)",d.val)){ }}中的d.val因为if用的是layui的语句,所以直接写就可以,一般都是{{d.val}}这样写 
    {{#("#") if(isContains("#(x.campusName)",d.val)){ }} 
        <input type='checkbox' value="#(x.id)" name='campus'  
        #(sysAccountCampusIds.contains(x.id.toString()) ? 'checked="checked"':'') 
        title="#(x.campusName)" id='campusBox#(x.id)'> 
    {{#("#") } }} 
    #end 
</script> 
//str字符串是否包含substr字符串 
function isContains(str, substr) { 
  return str.indexOf(substr) >= 0; 
} 
//layui模板的写法 
var getTpl = searchText.innerHTML;//写到js方法外边这样只加载一次,不用每次都加载,速度快 
/* 前端页面的搜索 */ 
 function ck(campusName){ 
  //渲染模版 
  layui.laytpl(getTpl).render({"val":campusName}, //json值 
      function(html){ 
    $("#cam").html(html);//jquery把模板加载到p  id是cam中<p id="cam"></p> 
    console.log(html); 
    layui.form.render(null,"cam"); //更新这个容器中的页面 
  }); 
}

相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!

推荐阅读:

apply+Math.max()函数使用

vue-cli安装与配置webpack

以上就是JS在前端页面做出全局搜索的详细内容,更多请关注其它相关文章!