博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC使用jQuery实现Autocomplete
阅读量:5052 次
发布时间:2019-06-12

本文共 3048 字,大约阅读时间需要 10 分钟。

Insus.NET的以前的ASP.NET MVC的练习中,也有实现过Autocomplete的功能。依次是使用jQuery来实现。

首先在数据库准备一些数据:

CREATE TABLE [dbo].[Item](    [Item_nbr] INT IDENTITY(1,1) PRIMARY KEY NOT NULL,    [ItemName] NVARCHAR(40))GOINSERT INTO [dbo].[Item] (    [ItemName] )VALUES('Q04-AA-0001'),('Q04-AA-0002'),('Q04-AA-0003'),('Q04-AA-0004'),('Q04-AA-0005'),('Q04-BB-0001'),('Q04-BB-0002'),('Q04-BB-0003'),('Q04-BB-0004'),('Q04-BB-0005'),('Q04-CC-0001'),('Q04-CC-0002'),('Q04-CC-0003'),('Q04-CC-0004'),('Q04-CC-0005'),('Q04-DD-0001'),('Q04-DD-0002'),('Q04-DD-0003'),('Q04-DD-0004'),('Q04-DD-0005'),('Q04-EE-0001'),('Q04-EE-0002'),('Q04-EE-0003'),('Q04-EE-0004'),('Q04-EE-0005'),('Q04-FF-0001'),('Q04-FF-0002'),('Q04-FF-0003'),('Q04-FF-0004'),('Q04-FF-0005')GOCREATE PROCEDURE [dbo].[usp_Item_GetAll]ASSELECT [Item_nbr],[ItemName] FROM [dbo].[Item]GO Source Code

  

转到ASP.NET MVC项目中,创建一个model:

 

再创建一个Entity:

 

创建视图操作Action:

 

安装jQueryUI:

 

创建MVC视图:

 

上面标记#3是jQuery代码,详细如下:

 

$(function () {                        var cache = {};            $("#itemName").autocomplete({                minLength: 0,                source: function (request, response) {                    var term = request.term;                    if (term in cache) {                        data = cache[term];                        response($.map(data, function (item) {                            return {                                label: item.ItemName,                                value: item.Item_nbr                            }                        }));                    }                    else {                        $.ajax({                            url: "/July16/Autocomplete",                            dataType: "json",                            type: "POST",                            contentType: "application/json; charset=utf-8",                            data: JSON.stringify({                                top: 10,                                term: request.term                            }),                            success: function (data) {                                if (data.length) {                                    cache[term] = data ;                                    response($.map(data, function (item) {                                        return {                                            label: item.ItemName,                                            value: item.Item_nbr                                        }                                    }));                                }                            }                        });                    }                },                focus: function (event, ui) {                    $("#itemName").val(ui.item.label);                    return false;                },                select: function (event, ui) {                    $("#itemName").val(ui.item.label);                    $("#itemNbr-id").val(ui.item.value);                    return false;                }            })                   });Source Code

  实时操作演示:

转载于:https://www.cnblogs.com/fengyeqingxiang/p/10999502.html

你可能感兴趣的文章
Good Bye 2015 D. New Year and Ancient Prophecy
查看>>
使用Oracle SQL Developer 连接SQL Server
查看>>
Scss sass
查看>>
load image
查看>>
PHP之XML节点追加操作讲解
查看>>
鼠标拖动事件
查看>>
Log4j2 配置
查看>>
接口测试
查看>>
Underscore.js 入门
查看>>
IDEA设置网络代理&&Maven设置网络代理
查看>>
win7下64位系统memcache/memcached安装教程
查看>>
C#用DesignSurface实现一个简单的窗体设计器
查看>>
CUDA跟OpenCV的混合编程,注意OpenCV需要重新编译
查看>>
Team Foundation Server 2010 Performance Tuning – Lessons learned
查看>>
obj文件转换为gltf的方法
查看>>
系统运行与维护
查看>>
纯css画哆啦A梦
查看>>
SpringIOC学习一
查看>>
摄像头脸部识别 (1)opencv 抓取视频数据并保存
查看>>
[译]Django first steps Part3
查看>>