如何使用ASP.NET MVC 3 / jQuery实现即时搜索框?

时间:2011-08-25 08:54:08

标签: javascript jquery asp.net-mvc asp.net-mvc-3

我想在我的ASP.NET MVC 3应用程序中添加一个类似于Google搜索框的即时搜索框。也就是说,作为搜索框中的一种类型,应用程序应自动显示相应的搜索结果,并在框下方显示带有建议的下拉菜单。还应该有一个清除框的控件(Google搜索框右侧的X)。

我是网络应用程序开发的新手,但我猜Javascript是必需的。我们将在这个项目中使用jQuery,虽然我们还没有添加任何Javascript。

那么如何实现上面指定的搜索框UI?是否有一些现成的jQuery组件?

3 个答案:

答案 0 :(得分:4)

这是一个很棒的博客post,可以帮助您开始使用Razor网页和SQL CE数据库进行jQuery自动完成。

答案 1 :(得分:3)

我建议使用 jQuery UI 作为auto complete组件。

它可以装配成查看预定义的本地数据列表,或者在用户输入时执行实时搜索。

使用静态查找的简单示例的代码如下:

<script>
    $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
    </script>



<div class="demo">

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

</div><!-- End demo -->



<div class="demo-description" style="display: none; ">
<p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are tags for programming languages, give "ja" (for Java or JavaScript) a try.</p>
<p>The datasource is a simple JavaScript array, provided to the widget using the source-option.</p>
</div><!-- End demo-description -->

答案 2 :(得分:0)

快速搜索如何运作?

焦点设置在文本框中。用户点击密钥和keyup javascript事件(取决于浏览器),您将该文本框的内容发送到Web服务器。

Web服务器将读取该内容,生成结果,可能是列出10个结果的视图模型,它会将该结果传递回Web浏览器。

然后,您将jQuery获取该结果并将其粘贴到某个div中,例如内容在这里

这是非常基本的,但它会起作用。考虑性能非常重要,因为会有很多请求发送到服务器。

编辑:关于快速搜索插件 - 是的,有一些,但你需要知道它是如何工作的以及可能出现的问题,所以在使用插件之前,先写点东西基本看看它是如何工作的。祝你好运。