问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用JavaScript,ajax做搜索是如何做的

发布网友 发布时间:2022-04-28 12:14

我来回答

3个回答

懂视网 时间:2022-05-15 05:31

这篇文章主要介绍了基于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请求之返回数据的顺序问题分析

热心网友 时间:2022-05-15 02:39

1:显示问题,ajax是从后台返回数据,后台查询语句是你自己写的,既然你能把所有的显示出来,那你就应该能把每项多少条显示出来,改改SQL语句而已。

2:颜色问题,你可以从后台返回一个table,在用后台写HTML语句时,每隔一个TR,改一下backgroundColor而已,可以用一个变量来控制,如果想改变鼠标移上去的颜色,就加个onmouseover,onmouseout事件,改下背景颜色。

3:这个属性得看不同版本,一般都是直接obj.id=value就可以了,这样感觉简单点。

以上为自己的意见,有错勿见笑。

热心网友 时间:2022-05-15 03:57

1. 你已经做了

2. 弹出来的是一个层吧,这个和ajax完全没有关系,属于css的范畴了哥们儿

3. object.getAttrbute(id)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土狗一般多大开始懂人性 如何训练 小土狗怎么训练才听话 新手训狗的好方法 跑跑卡丁车故事模式哪一关还海盗船长(人物)奖励的,骨灰玩家说下._百 ... 跑跑卡丁车手游被遗忘的炮塔的宝藏在哪_跑跑卡丁车手游被遗忘的炮塔的... 跑跑卡丁车手游在被遗忘的炮塔附近搜寻宝藏怎么做?遗忘炮塔宝藏攻略... 跑跑卡丁车手游被遗忘炮塔宝藏在哪 炮塔附近搜寻宝箱位置详解-新手攻略... 跑跑卡丁车被遗忘的炮塔附近宝藏在哪里_跑跑卡丁车被遗忘的炮塔附近宝藏... 跑跑卡丁车手游在遗忘的炮塔附近搜寻宝藏在哪 遗忘炮塔宝藏位置详解 迅捷路由器使用问题 ...MATLAB7.0的,程序总是在打开后一会,就自动关闭了。希望能帮忙哦,感... 像蛋糕一样松软的面包有吗,怎么做? 平湖到宝安代驾要多少钱 广东金莎汇汽车销售服务有限公司怎么样? 准备开一个音乐餐吧,哪里有音响设计方案提供? 代驾神器开通哪些城市? 惠州博罗哪个代驾好 音乐餐吧需要办理什么证? 谁知道Punk bar 庞客音乐餐吧是做什么的,有什么好吃的? 开音乐餐吧需要什么证件 Punkbar 庞客音乐酒馆 和庞客音乐餐吧有什么区别? 什么是音乐餐吧啊?主要的工作程序是什么?是不是和酒吧是一样的? 适合家有儿女微信网名 独家酸甜年糕的正宗做法,独家酸甜年糕怎样做才好吃的 年糕做甜的怎么做好吃 酸甜年糕的做法,酸甜年糕怎么做好吃,酸甜年糕 甜玉米年糕的做法,甜玉米年糕怎么做好吃,甜玉 甜炒年糕怎么做好吃 制作甜年糕的主要原料有 自制甜年糕怎么做 成品甜年糕怎么做好吃 google浏览器怎样对ajax中的js进行调试?求高手指教,谢谢 减肥云朵面包怎么做 写出使用javaScript实现Ajax的原生代码? 用烤箱做云朵面包不用油纸可以吗? ajax返回javascript代码并执行 javascript 实现搜索框的自动建议功能 做云朵面包没有油纸怎么办? Google网页搜索API如何用? 中班美术活动《云朵面包》教学过程的评价 谁能提供一个简单的Ajax实例,通过js脚本代码实现的 怎么用Google API搜索? 关于ajax与JavaScript 关于goole map api的几个问题 javascript代码写法问题 如何让搜索引擎抓取AJAX内容 JS、AJAX等实现:HTML/JSP页面中即时显示查询的数据,怎么写? ajax中的框架 和它们的区别 google地图(web版)是怎么实现的? 如何应用AJAX技术实现以下效果 我在用Ajax实现搜索提示时,程序不进入服务器中的doPost方法,哪位大 ...