当后端没有提供数据列表的模糊搜索的接口时,我们可以在前端利用JS实现数据列表的模糊搜索功能。
举例说明:当我们需要在部门列表中,实现模糊搜索的功能,这时可以不用走后端接口,我们可以把这些部门列表存放在一个数组中,然后根据用户输入的部门名称在这个数组中模糊搜索。(我们可以把部门列表放入localstorage或者sessionstorage中保存)
注意:localstorage和sessionstorage只能存字符串,不能存对象。
第一步:页面加载后显示部门列表(JS代码,走后端接口获取部门列表并显示,将列表存入localstorage中)
function getDeptListByUserId(){
$.ajax({
type: "POST",
url:"getDeptList.do",
async:false,
dataType :"json",
data: {
success:function(result){
var str = "";
var depts = result.dept;
localStorage.setItem("deptList", JSON.stringify(depts));
for(var i=0;i<depts.length;i++){
str +="<li><a>"+depts[i].CC_Name+"<span style=\";\">,"+depts[i].CC_Code+"。"+"</span></a></li>";
$("#dptlist").html(str);
$("#dptlist li").click(function(){
var test=$(this).text().toString()
var index=test.indexOf(",");
var end=test.indexOf("。");
var dptname;
var dptcode;
if(index!=-1)
dptname=test.substring(0,index);
if(end!=-1)
dptcode=test.substring(index+1,end);
document.getElementById("dptname").value=dptname;
document.getElementById("dptcode").value=dptcode;
$("#myModaldpt").modal('hide');
第二步:获取用户输入的值,进行模糊搜索
HTML代码
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"> <span aria-hidden="true">×</span></button>
<h4 class="modal-title mytitle">选择所属部门</h4>
<div class="modal-body">
<div id="wrap">
<div class="product-head"> 部门:
<div id="formdpt">
<input id = "deptSerch" oninput="doSearchDept()"/>
<div class="clear"></div>
<ul id="dptlist">
思路:我们首先将原本的数据存入到一个数组old_items中,然后再新创建一个新的数组items用于存储搜索到的数据,在遍历第一个数组old_items时,使用正则判断是否包含输入的的内容,如果包括,就将内容push到新数组items中,当一切执行完毕,就遍历items数组取出数据,将原本的内容清空,填充新数据。
JS代码:
function doSearchDept(){
var deptList=JSON.parse(localStorage.getItem("deptList"));
var str = "";
var condition = $("#deptSerch").val();
var reg = new RegExp(condition);
var items = [];
if(condition.length > 0){
for(var i=0;i<deptList.length;i++){
var temp = deptList[i].CC_Name;
if(temp.match(reg)){
items.push(deptList[i]);
$(".dptlist").empty;
for(var i=0;i<items.length;i++){
str +="<li><a>"+items[i].CC_Name+"<span style=\";\">,"+items[i].CC_Code+"。"+"</span></a></li>";
$("#dptlist").html(str);
$("#dptlist li").click(function(){
var test=$(this).text().toString()
var index=test.indexOf(",");
var end=test.indexOf("。");
var dptname;
var dptcode;
if(index!=-1)
dptname=test.substring(0,index);
if(end!=-1)
dptcode=test.substring(index+1,end);
document.getElementById("dptname").value=dptname;
document.getElementById("dptcode").value=dptcode;
$("#myModaldpt").modal('hide');
}else{
$(".dptlist").empty;
for(var i=0;i<deptList.length;i++){
str +="<li><a>"+deptList[i].CC_Name+"<span style=\";\">,"+deptList[i].CC_Code+"。"+"</span></a></li>";
$("#dptlist").html(str);
$("#dptlist li").click(function(){
var test=$(this).text().toString()
var index=test.indexOf(",");
var end=test.indexOf("。");
var dptname;
var dptcode;
if(index!=-1)
dptname=test.substring(0,index);
if(end!=-1)
dptcode=test.substring(index+1,end);
document.getElementById("dptname").value=dptname;
document.getElementById("dptcode").value=dptcode;
$("#myModaldpt").modal('hide');
当后端没有提供数据列表的模糊搜索的接口时,我们可以在前端利用JS实现数据列表的模糊搜索功能。举例说明:当我们需要在部门列表中,实现模糊搜索的功能,这时可以不用走后端接口,我们可以把这些部门列表存放在一个数组中,然后根据用户输入的部门名称在这个数组中模糊搜索。(我们可以把部门列表放入localstorage或者sessionstorage中保存)注意:localstorage和session...
问题描述:停车场是一个能放n辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放。若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入。当停车场中的车离开时,由于通道窄,在它后面呢的车要先退出,待它走后再依次进入。汽车离开时按停放时间收费。
基本功能要求:
(1)建立三个数据结构分别是:停放队列、让路栈、等候队列。
(2)输入数据模拟管理过程,数据(入或出,车号)。
停车管理系统是C语言中队列和栈比较简单的应用,需要注意的是停车队列、等候队列、让路栈结构体的构建。在写代码时,出队列入栈和出栈入队列时,指针容易出错而造成段错误,应当注意。我所写的代码如下:
//定义结构体
如何实现 模糊搜索 当我们浏览网页的时候,通常能看到搜索栏,这大大的提高了我们获取数据的目的性。
那如何去实现一个简单的模糊搜索 框呢,以下案例获取能给你一点思路。
以下案例,可以实现当按键按下时,自动检索匹配数据
基本css 样式
.row {
height: 80px;
*/\* line-height: 80px; \*/*
text-align: left;
line-height: 80px;
padding-top: 5px;
margin-bottom: 10px;
.inh {
width:
前端本地的
模糊搜索原理其实很简单,我写的本地搜索只需要理解 indexOf,filter.这几个就可以了,还要加上监听每次input的触发方法,vue用@input。
1.大概效果就是照着百度的搜索写的
.2.首先点击输入框的时候,不输入的情况下先显示推荐内容
.3.如果输入了内容则显示匹配了的搜索详情区域,如果没有匹配的内容则不显示搜索详情区域
在看BOM的时候,发现一个很有意思的方法find。碰巧最近一个公司让我做一个东西,他想要搜索功能,但是页面却全部都是静态的。哈哈,发现这个真是太好了,赶快来分享一波<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>welcome</title>
<style>
div {
emmm… 由于楼主大四dog准备毕设,没有后台接口又要尽量模拟出功能的原因,就硬着头皮基于vue手撸代码实现纯前端的搜索功能。
一开始我哈皮地在iview的组件里搜到了具有筛选功能的table表格组件,如下图所示:
可还没等我开心多久就发现它!居然!!在分页模式下只能筛选出当前页的数据눈_눈,也就是说官方提供的这个功能只限于不分页展示的表格筛选。
So,我又想到了要不自己封装一个函数去实现i...
对于模糊查询,一般都是传关键字给
后端,由
后端来做。但是有时候一些轻量级的列表
前端来做可以减少ajax请求,在一定程度上提高用户体验。废话不多说,直接上代码。
字符串方法(indexof):
正则表达式:
<div class="aaa">
<el-input placeholder="请输入用户名" v-model="form.name"></el-input>
<el-button @click="search()">搜索</el-button>
如果要在 Python 中实现这个题目,可以使用一个字典来存储每个人的信息。每个人都有一个编号,我们可以将编号作为字典的键,将每个人的信息(例如下一个人的编号)作为值存储在字典中。
例如,假设有 4 个人,他们的编号分别是 1、2、3 和 4,那么字典可能长这样:
1: 2,
2: 3,
3: 4,
4: None
这个字典表示 1 号排在 2 号前面,2 号排在 3 号前面,3 号排在 4 号前面,4 号没有人排在他前面。
我们还可以使用另一个字典来存储每个人的前驱编号,例如:
2: 1,
3: 2,
这个字典表示 2 号的前驱是 1 号,3 号的前驱是 2 号,4 号的前驱是 3 号。
然后,我们可以定义两个函数来实现操作 1 和操作 2:
def remove(d, d_prev, x):
# 把 x 叫走
next_x = d[x]
d_prev[next_x] = d_prev[x]
d[d_prev[x]] = next_x
del d[x]
del d_prev[x]
def find_prev(d, d_prev, x):
# 查找排在 x 前面的是谁
return d_prev[x]
在调用 remove 函数时,需要传入两个字典和要叫走的人的编号 x。在
let id = setWatermark(str);
_interval = setInterval(() => {
if (document.getElementById(id) === null) {
id = setWatermark(str);
}, 500);
window.onresize = () => {
setWatermark(str);
// 移除
watermark.remove = () => {
flag = false;
var box = document.getElementById(idd);
box.parentNode.removeChild(box);
_interval ? clearInterval(_interval) : '';
export default watermark;
[/code]
log4j2 配置 如何将业务日志与定时任务的日志打印到不同的日志文件中
weixin_41685314:
Vue项目在页面添加水印功能
爱吃兔子的萝北: