思路:

1.ajax请求后台方法获取数据。

2.通过jquery将请求到的数据显示在页面上。

前台

                <div class="sc_con" id="bbsearch">
<input type="text" class="sc_input" id="txtName" autocomplete="off" placeholder="输入药品信息,寻找全球最低价" />
<input type="button" name="" value="立即搜索" onclick="mm()" class="sc_btn" />
<div id="bigAutocompleteContent" class="associational_word"></div>
</div>

样式

    <style>
.associational_word {
display: none;
position: absolute;
z-index: 100;
border: 1px solid #BCBCBC;
background-color: #FFFFFF;
width: 841px;
font-size: 15px;
overflow-x: hidden;
overflow-y: auto;
left: 100px;
line-height: 25px;
} .ct {
background: none repeat scroll 0 0 #eaeaea !important;
}
</style>

jquery

    <%-- 联想词 --%>
<script type="text/javascript">
$(function () {
$(document).keypress(function (e) {
if (e.keyCode == 13) {
var val = $("#txtName").val();
window.location.href = "/JkCommerce/Index_j" + val + ".html";
return false;
}
}) //文本框按下回车事件
$("#txtName").keyup(function () {
if (event.keyCode == 13) {
mm();
};
setTimeout(function () {
associationalWord();
}, 500);
}); //鼠标悬停时选中当前行
$("#bigAutocompleteContent").delegate("tr", "mouseover", function () {
$("#bigAutocompleteContent tr").removeClass("ct");
$(this).addClass("ct");
}).delegate("tr", "mouseout", function () {
$("#bigAutocompleteContent tr").removeClass("ct");
}); //单击选中行后,选中行内容赋值到输入框中
$("#bigAutocompleteContent").delegate("tr", "click", function () {
$("#txtName").val($(this).find("td").html());

           var $bigAutocompleteContent = $("#bigAutocompleteContent");
           if ($bigAutocompleteContent.css("display") != "none") {
              $bigAutocompleteContent.find("tr").removeClass("ct");
              $bigAutocompleteContent.hide();
           }

            })
});
function associationalWord() {
$.ajax({
type: "post",
url: "Default.aspx",
data: { action: $("#txtName").val() },
success: function (msg) {
msg = JSON.parse(msg);
var cont = "<table style='width:100%'><tbody>";
for (var i = 0; i < msg.length; i++) {
cont += "<tr><td>" + msg[i].ProductName + "</td></tr>";
}
cont += "</tbody></table>";
$("#bigAutocompleteContent").html(cont);
$("#bigAutocompleteContent").show();
}
})
}
</script>

后台

        protected void Page_Load(object sender, EventArgs e)
{
string method = Request.Form["action"];
if (!string.IsNullOrEmpty(method))
{
GetWord(method);
}
} public void GetWord(string text)
{
//获取数据
DefaultDa defaultDa = new DefaultDa();
DataTable dataTable = defaultDa.GetWord(text); object JSONObj = (Object)JsonConvert.SerializeObject(dataTable);
Response.Write(JSONObj);
Response.End();
}

还需要引用下,Newtonsoft.Json

.net 搜索联想词的更多相关文章

  1. Elasticsearch之联想词示例

    public class LianXiangWord { private static RestClient client; static { client=RestClient.builder(ne ...

  2. python爬行动物集合360联想词搜索

    想法和一些代码引用邸一幕python培训黄哥python爬虫联想词视频,但是太罗嗦.顺便整理,而到现在为止,360不傻.它已演变,用原来的方式,有些bug,这接着说. 正题例如以下: 语言:pytho ...

  3. python爬虫之採集——360联想词W2版本号

    http://blog.csdn.net/recsysml/article/details/30541197,我的这个博文介绍了对应的简单的方法做一个联想词的爬虫,并且还承诺了下面优化: 下一版本号的 ...

  4. Eclipse用法和技巧二十七:定义自己的快速联想词

    某天在调试代码的时候,虽然是android的project还是习惯的输入syso,然后在ALT+/一下.旁边的同事就问了一下,这个log打印输出的tag是什么.接着又问了为什么syso能够智能联想出这 ...

  5. Eclipse使用方法和技巧二十七:定义自己的高速联想词

    某天在调试代码的时候.尽管是android的project还是习惯的输入syso.然后在ALT+/一下. 旁边的同事就问了一下,这个log打印输出的tag是什么. 接着又问了为什么syso可以智能联想 ...

  6. 网络系列之 jsonp 百度联想词

    jsonp 可以跨域,ajax 不可以,ajax 会受到浏览器的同源策略影响,何为同源策略? 同源策略就是,如果 A 网站 想拿 B网站里的资源, 那么 有三个条件, 你得满足才能拿. 第一个:域名相 ...

  7. JavaScript实现搜索联想功能

    -.虽然Jquery已经有了一个完整的包 实现前端搜索联想功能,但是出于学习还是想了解一下实现此功能的原理性 回想起来 实现此功能很简单,1.前端输入字符串 文本改变 异步请求服务器 将返回的资料显示 ...

  8. Selenium2+python自动化34-获取百度输入联想词

    前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首 ...

  9. Selenium2+python自动化34-获取百度输入联想词【转载】

    前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首 ...

  10. Elasticsearch实现搜索推荐词

    本篇介绍的是基于Elasticsearch实现搜索推荐词,其中需要用到Elasticsearch的pinyin插件以及ik分词插件,代码的实现这里提供了java跟C#的版本方便大家参考. 1.实现的结 ...

随机推荐

  1. Ocelot的限流、熔断和负载均衡

    一.限流 想要在Ocelot中设置限流,需要在设置如下绿色所示: { "GlobalConfiguration": { "RateLimitOptions": ...

  2. JVM Dump分析

    Thread Dump介绍 Thread Dump是非常有用的诊断 Java应用问题的工具.每一个 Java虚拟机都有及时生成所有线程在某一点状态的 thread-dump的能力,虽然各个 Java虚 ...

  3. Nmap学习

    Nmap学习 一.主机发现 1.全面扫描/综合扫描 nmap -A 192.168.142.201 2.Ping扫描 nmap -sP 192.168.142.0/24 3.免Ping扫描,穿透防火墙 ...

  4. vue中使用vue.extend在dom挂载vue实例

    const CounterComponent = Vue.extend(Counter); this.vm = new CounterComponent({}).$mount('#container' ...

  5. 逍遥自在学C语言 | 关系运算符

    前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表示方式 关系运算符的作用是判断符号两边大小的关系 ...

  6. Cesium案例(六) Time Dynamic Wheels

      Cesium.Ion.defaultAccessToken =         "token";       const viewer = new Cesium.Viewer( ...

  7. pandas小技巧

    1. 删除列 import pandas as pd df.drop("Unnamed: 0", axis=1, inplace=True) 2. 转换列的格式 df[" ...

  8. go-easy-utils 2.0 正式发布,全面支持泛型和any

    介绍 这是一个基于 Go 语言开发的通用数据类型处理工具类,帮助开发者在业务代码实现中处理常见的数据类型和数据操作.可以让您专注于您的业务代码的实现,而免去处理基本数据类型转换和验证的功能.该工具库无 ...

  9. 前后端分离 nginx 的配置

    前端 nginx # 添加头部信息 proxy_send_timeout 30; # 后端服务器连接超时时间 proxy_read_timeout 30; # 后端服务器数据回传时间 proxy_co ...

  10. 【Java SE】集合

    1.java集合框架 使用Array存储对象有一定的弊端.java集合就是一种容器,动态地存储多个对象,存储主要是内存层面的存储,不涉及到持久化的存储(txt,avi,数据库). ①一旦初始化好,数组 ...