dedecms织梦如何使用javascript ajax如何实现搜索下拉提示功能

春季来好快,悄无声息不知不觉中,草儿绿了,枝条发芽了,遍地野花油菜花开灿烂多姿,一切沐浴着春晨曙光,春风中摇弋轻摆,仿佛少女轻歌曼舞,楚楚动人。
这个功能主要实现的是用户在搜索的时候输入关键字,然后会出现下拉菜单,下拉菜单中出现的是站内所有包含这个关键字的文章的标题共用户选择,相对DedeCMS原生的搜索这个功能实用一点,既增加了用户体验,也可以让用户快速的找到想要的东西。功能基于php+jquery来实现,参考autocomplete,

打开你的网站首页模板,在</head>之前加入

<script language="javascript" type="text/javascript" src="{dede:global.cfg_templets_skin/}/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">   
 function lookup(inputString) {        
if(inputString.length == 0) 
{            
// Hide the suggestion box.            
$('#suggestions').hide();        
} 
else 
{            
$.post("/plus/search_list.php", {queryString: ""+inputString+""}, function(data)
{ 
               if(data.length >0) 
{                    
$('#suggestions').show();                    
$('#autoSuggestionsList').html(data);               
 }            
});        
}    
} // lookup        
function fill(thisValue) {        
$('#inputString').val(thisValue);        
setTimeout("$('#suggestions').hide();", 200);    
}
 </script>

jquery-1.7.1.min.js这个jquery库需要你自己下载,这里就不多说了。本人用的是这个版本的。
 

这段代码中的search_list.php就是本文下载的文件,下载后放入/plus目录下。

打开head.htm,找到搜索部分的from表单代码修改为
 

<form name="formsearch" action="{dede:global.cfg_cmsurl/}/plus/search.php" id="formkeyword">
	<label for="header-subscribe-email" class="text"></label><input type="hidden" name="kwtype" value="0"/><input type="text" name="q" size="24" value="在这里搜索..." onfocus="if(this.value=='在这里搜索...'){this.value='';}" onblur="if(this.value==''){this.value='在这里搜索...';}" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" class="f-text"><input type="submit" class="commit" value="搜索"/>
	<div class="suggestionsBox" id="suggestions" style="display: none;">
		<div class="suggestionList">
			<ul id="autoSuggestionsList">
			</ul>
		</div>
	</div>
</form>

这部分可以根据你自己的代码的实际情况具体修改,主要是输入关键字的input和下边加的DIV层。

打开你自己的样式表css文件,在最后加入

.suggestionsBox {
	position: relative;
	left: 0px;
	width: 250px;
	background: white;
	border: 1px solid #dcdcdc;
	color: #323232;
	z-index: 999;
}

.suggestionList {
	margin: 0px;
	padding: 0px;
}

.suggestionList li {
	margin: 0px 0px 3px 0px;
	position: relative;
	padding: 3px;
	cursor: pointer;
	list-style: none;
	padding-left: 5px;
	height: 20px;
	overflow: hidden
}

.suggestionList li:hover {
	background-color: #659CD8;
}

.jr {
	position: absolute;
	top: 9px;
	right: -5px
}


到这添加的代码就完了,然后下载search_list.rar,下载后解压得search_list.php到放入/plus目录下。在这个文件里有详细注解。可根据实际情况调整。所有结果都是由这个文件来返回的。最后去前台试试您的效果把。

本文dedecms织梦如何使用javascript ajax如何实现搜索下拉提示功能到此结束。无言以对的时候,沉默就是最好的解释。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序