最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

基于ajax的简单搜索实现方法

来源:动视网 责编:小采 时间:2020-11-27 19:47:04
文档

基于ajax的简单搜索实现方法

基于ajax的简单搜索实现方法:这篇文章主要介绍了基于ajax的简单搜索实现方法,结合实例形式较为详细的分析了ajax调用实现搜索功能的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了基于ajax的简单搜索实现方法。分享给大家供大家参考,具体如下:这里使用两
推荐度:
导读基于ajax的简单搜索实现方法:这篇文章主要介绍了基于ajax的简单搜索实现方法,结合实例形式较为详细的分析了ajax调用实现搜索功能的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了基于ajax的简单搜索实现方法。分享给大家供大家参考,具体如下:这里使用两

这篇文章主要介绍了基于ajax的简单搜索实现方法,结合实例形式较为详细的分析了ajax调用实现搜索功能的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了基于ajax的简单搜索实现方法。分享给大家供大家参考,具体如下:

这里使用两个.aspx文件,一个叫Default.aspx,一个叫AjaxOperations.aspx,第一个用来输入搜索数据,后一个用来对搜索关键字进行处理。js文件夹下面还有一个testJs.js的文件,它就是ajax操作的核心部分。不错,code is cheap。看代码:

testJs.js

输出的那段字符串 setNames(xmlReq.responseText); } else { alert("Connect the server failed!"); } } } xmlReq.send(null); } // 设置p中的表格数据 function setNames(names) { if (names == "") { clearNames(); return; } clearNames(); // 清空p中已有的的表格数据 setOffsets(); // 设置p到合适的位置 var row, cell, txtNode; var s = names.split("#"); for (var i = 0; i < s.length; i++) { // 显示类似search下拉选择项 var nextNode = s[i]; row = document.createElement("tr"); cell = document.createElement("td"); cell.onmouseout = function() { this.style.backgroundColor = ''; }; cell.onmouseover = function() { this.style.backgroundColor = '#E8F2FE'; }; cell.onclick = function() { completeField(this); }; // 搜索框设置为选择的数据 cell.pop = "T"; txtNode = document.createTextNode(nextNode); cell.appendChild(txtNode); row.appendChild(cell); $("suggestBody").appendChild(row); } } // 清空p中已有的的表格数据 function clearNames() { completeBody = $("suggestBody"); var ind = completeBody.childNodes.length; for (var i = ind - 1; i >= 0; i--) { completeBody.removeChild(completeBody.childNodes[i]); } completep = $("popup"); completep.style.border = "none"; } // 设置p到合适的位置 function setOffsets() { completeTable.style.width = inputField.offsetWidth; +"px"; var left = calculateOffset(inputField, "offsetLeft"); var top = calculateOffset(inputField, "offsetTop") + inputField.offsetHeight; completep.style.border = "black 1px solid"; completep.style.left = left + "px"; completep.style.top = top + "px"; } function calculateOffset(field, attr) { var offset = 0; while (field) { offset += field[attr]; field = field.offsetParent; } return offset; } // 搜索框设置为选择的数据 function completeField(cell) { inputField.value = cell.firstChild.nodeValue; // 搜索框设置为选择的数据 clearNames(); //清空p中已有的的表格数据 } //用来设置当鼠标失去焦点后文本框的隐藏 document.onmousedown = function() { if (!event.srcElement.pop) clearNames(); } //填写输入框

Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebTest2008.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
 <title>Ajax Search</title>
 <script src="js/testJs.js" type="text/javascript"></script>
 <style type="text/css" media="screen">
 body
 {
 font: 11px arial;
 }
 .suggest_link
 {
 background-color: #FFFFFF;
 padding: 2px 0px 2px 0px;
 border:solid 1px #cceeff;
 }
 .suggest_link_over
 {
 background-color: #E8F2FE;
 padding: 2px 0px 2px 0px;
 }
 #search_suggest
 {
 position: absolute;
 background-color: #FFFFFF;
 text-align: left;
 border: 1px solid #000000;
 }
 </style>
</head>
<body>
 <input name="txtSearch" id="txtSearch" type="text" class="suggest_link" onkeyup="addAjaxSearch();" maxlength="200" style="width: 200px" /> 
 <input type="submit" id="cmdSearch" name="cmdSearch" value="Search" title="Run Search" />
 <p id="popup" style="position: absolute">
 <table id="suggestTb" cellspacing="0" cellpadding="0" bgcolor="#fffafa" border="0">
 <tbody id="suggestBody">
 </tbody>
 </table>
 </p>
</body>
</html>

Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebTest2008
{
 public partial class Default : System.Web.UI.Page
 {
 protected void Page_Load(object sender, EventArgs e)
 {
 }
 }
}

AjaxOperations.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxOperations.aspx.cs" Inherits="WebTest2008.AjaxOperations" %>

AjaxOperations.aspx.cs:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebTest2008
{
 public partial class AjaxOperations : System.Web.UI.Page
 {
 protected void Page_Load(object sender, EventArgs e)
 {
 if (!string.IsNullOrEmpty(Request["searchKeyword"]))
 {
 string tempStr = Request["searchKeyword"];
 /* 测试用 实际项目中可以对数据库进行检索等等相关操作,这里简化了 */
 System.Text.StringBuilder sb = new System.Text.StringBuilder();
 sb.Append(tempStr + " #");
 sb.Append("#");
 sb.Append(tempStr += " " + tempStr);
 sb.Append("#");
 sb.Append(tempStr += " " + tempStr);
 Response.Write(sb.ToString().TrimEnd(new char[] { '#' })); 
 }
 }
 }
}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Ajax异步提交数据返回值的换行问题实例分析

SSH网上商城之使用ajax完成用户名是否存在异步校验

ajax请求之返回数据的顺序问题分析

文档

基于ajax的简单搜索实现方法

基于ajax的简单搜索实现方法:这篇文章主要介绍了基于ajax的简单搜索实现方法,结合实例形式较为详细的分析了ajax调用实现搜索功能的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了基于ajax的简单搜索实现方法。分享给大家供大家参考,具体如下:这里使用两
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top