`

自学MVC(六):无聊造轮子,Jquery实现AutoComplete-2009年05月10日

    博客分类:
  • MVC
阅读更多

程序员喜欢"造轮子",就是说,大家都为了完成同样的功能,重复做前人已经做过的东西. 我的MVC项目里面做到搜索那里了.我不想用asp.net ajax控件里的自动完成控件,想到Jquery的功能比较强大,为什么不用Juery去写呢?
    思路其实和简单:用JS把关键字Post到一个搜索页面,返回一个json表达式的查询结果,然后在页面上显示出来就行了.

     不过想归想,做归做.我还是用了整整一个上午才完成这个功能.
   html界面如下:
  <input id="headq"type="text" onkeyup="dosearch();" > //请注意要用onkeyup事件,不然切换输入法时就会不必要的弹出层.
<div class="Search" id="divsearch">  </div>//这个DIV是负责把查询的结果显示在这里,开始是隐藏的.

  Post查询关键字的js代码 :
function dosearch() {
    $.post("http://www.cnblogs.com/Search/SearchMovies.aspx", { Key: $("#headq").val() },
  function(data, textStatus) {
      $('#divsearch').show();
      $("#divsearch").text("");
      if ($("#headq").val() != "") {
          $("#divsearch").append("<ul id='headSearch' class='options'>" + data.result + "</ul");//我开始用     $("#divsearch").text(),结果不能实现
      }
  }, "json");

}

接收关键字负责查询的页面:SearchMovies.aspx
  
protected void Page_Load(object sender, EventArgs e)
        {
            Response.ContentType = "application/json";

           List<MovieInfo> movies = MovieInfoCtrlBase.Instance().Web_GetMoviesSeachByFilter(Request["Key"]);
           string result = "";
           foreach(MovieInfo movie in movies)
           {
              // result += "<li><a  href=\"javascript:cSKT(this);\">" + movie.Mtitle + "</a></li>"; //用<a></a>在jquery里总是取不到内容,还有比较奇怪的是 cSKT('值');这样的写法竟然失效,只能写 this传<li>本身了.
               result += "<li onclick=\"cSKT(this);\" style=\"cursor:hand\">" + movie.Mtitle + "</li>";
           }
                Response.Write("{result: '"+result+"'}");
        
        }

//js脚本,负责当用户点击<li>的时候,把内容显示到   <input id="headq"type="text" onkeyup="dosearch();" > 里
  function cSKT(sender) {
    $('#divsearch').hide();

    $('#headq').val($(sender).text());//注意 this传过来后 用 $(sender).text()来访问<li>里面的内容.
}
基本思路就是这样.等我写完了后我就想估计也有人写过,到网上搜索下,果然有了现成的jquery的autocomplete控件.
http://files.cnblogs.com/huacn/jquery.autocomplete.1.1.2.js

<!--v:3.2-->

   本文版权属于www.51kancctv.com,williams所有,首发http://www.cnblogs.com/,转载请注明出处。
分享到:
评论

相关推荐

    jQuery-autoComplete-1.8.22代码例子

    《jQuery-autoComplete-1.8.22代码详解与应用》 jQuery-autoComplete是一款非常实用的前端插件,主要用于实现输入框的自动补全功能,它极大地提升了用户体验,尤其是在处理大量数据时,使得用户能够快速找到所需...

    jQuery-Autocomplete-master.rar

    这个"jQuery-Autocomplete-master"压缩包提供了一个简单的示例,用于演示如何利用jQuery实现自动补全功能,同时支持通过AJAX动态获取数据以及从本地加载数据。 1. **jQuery Autocomplete 插件**: jQuery ...

    jQuery-Autocomplete-exaples.rar

    `jQuery-Autocomplete-master` 文件夹可能包含了插件的完整源码和示例页面,供开发者更深入地理解和定制。 ### 4. 实战应用 jQuery Autocomplete 可以用于各种场景,如搜索框、地址输入、产品推荐等。通过自定义 `...

    带数据库的 jquery-autocomplete-php

    【标题】"带数据库的 jquery-autocomplete-php" 涉及到的是一个使用jQuery库实现的自动补全功能,结合PHP和MySQL数据库来提供动态搜索建议。jQuery UI的Autocomplete插件是这个功能的核心,它允许用户在输入框中输入...

    jQuery-Autocomplete-master

    《jQuery Autocomplete 实现文本自动填充详解》 在网页开发中,为了提高用户体验,经常会用到文本自动填充功能,这可以极大地简化用户输入,减少错误。jQuery Autocomplete 是一款非常实用的插件,用于实现这一功能...

    jQuery plugin for autocomplete - jQuery自动完成插件

    jQuery plugin for autocomplete - jQuery自动完成插件

    jquery Autocomplete插件,搜索自动完成

    jQuery plugin: Autocomplete 参数及实例 官网:jQuery plugin: Autocomplete 此插件依赖于 jquery 1.2.6 --- jquery 1.8.3 转自:http://www.cnblogs.com/duanhuajian/p/3398904.html

    jquery-autocomplete

    `jQuery-autocomplete` 是一个基于 jQuery 的开源插件,用于实现自动补全功能。这个插件使得在网页表单输入框中快速、高效地提供下拉建议变得简单易行,提高了用户界面的交互性和用户体验。它广泛应用于搜索引擎、...

    jquery.autocomplete.js资源压缩包下载

    在压缩包`jQuery-Autocomplete-master`中,通常包含了`jquery.autocomplete.js`源码文件、示例代码、CSS样式文件以及可能的文档。开发者可以通过阅读示例和文档,快速理解和应用这个插件。同时,由于它是开源的,...

    jquery 自动完成 Autocomplete

    **jQuery自动完成(Autocomplete)** jQuery的自动完成插件是一种强大的交互功能,它允许用户在输入文本时根据已有的数据集快速选择合适的选项。这个功能常见于搜索框、表单填充等场景,极大地提高了用户体验。在本篇...

    jquery-autocomplete 自动填充插件参数使用说明

    《jQuery Autocomplete 插件参数使用详解》 在Web开发中,为了提升用户体验,自动填充(Autocomplete)功能被广泛应用于搜索框、表单输入等场景。jQuery库提供了一个强大的Autocomplete插件,名为jQuery UI ...

    jQuery UI Autocomplete是jQuery UI的自动完成组件

    jQuery UI Autocomplete是一款基于jQuery UI库的插件,专门用于实现自动完成功能。这个组件在网页表单中尤其有用,它可以为用户提供实时的搜索建议,提升用户输入体验,节省用户时间并减少输入错误。在网页应用中,...

    jquery插件jquery-ui-1.8.2.custom.min.js

    《jQuery UI与jQuery插件深度解析——以jquery-ui-1.8.2.custom.min.js为例》 在Web开发领域,jQuery库以其简洁易用的API和强大的功能深受开发者喜爱。而jQuery UI作为jQuery的一个扩展,提供了丰富的用户界面组件...

    jquery插件-autocomplete

    **jQuery Autocomplete插件详解** 在前端开发中,jQuery库为我们提供了丰富的功能和简便的API,使得网页交互变得更加便捷。而jQuery Autocomplete插件则是一个非常实用的工具,它能够帮助用户在输入框中实现自动...

    jquery.ui.autocomplete-Ajax

    **jQuery UI Autocomplete AJAX** jQuery UI的Autocomplete组件是一个强大的功能,它允许用户在输入时自动填充建议选项,极大地提高了用户体验。这个组件尤其适用于搜索框、表单输入和其他需要动态获取数据的场景。...

    jquery-ui-autocomplete

    `jQuery UI Autocomplete`是基于`jQuery`库的一个强大组件,用于实现自动补全功能。这个组件能够极大地提升用户体验,特别是在需要用户输入特定信息时,如搜索框、表单字段等。`jQuery UI`提供了丰富的界面效果和...

    前端项目-jquery.devbridge-autocomplete.zip

    3. **数据源**:jQuery.devbridge-autocomplete支持多种数据源,可以是本地数组、JSON数据,或者通过Ajax异步加载。这允许开发者灵活地从服务器端获取和更新建议列表。 4. **自定义配置**:该插件允许开发者高度...

    jquery的autocomplete(自动补全)插件

    **jQuery的Autocomplete插件**是用于实现网页输入框自动补全功能的一种高效解决方案,它极大地提升了用户体验,尤其是在用户需要从大量数据中选择时。这个插件是基于jQuery库的,因此,首先需要确保在项目中引入了...

    jquery.autocomplete.js使用示例,可直接运行

    **jQuery Autocomplete.js 插件使用详解** jQuery Autocomplete.js 是一个非常实用的插件,它为HTML输入框提供了自动补全功能,极大地提升了用户体验。这个插件基于jQuery库,结合Ajax技术,能够实时从服务器获取...

Global site tag (gtag.js) - Google Analytics