jquery.autocomplete.min.js怎么实现动态数据

wilson0424 2013-06-08 08:43:21
下面是jquery.autocomplete.min.js的一个简单的例子。
我想问是的怎么动态的跟后台交互,不是写死的,而是从数据库里面得到的。本人小白,最好是能有一个实例。前台后台的都有最好了。谢谢
<script type="text/javascript">
var emails = [
{ name: "Peter Pan", to: "peter@pan.de" },
{ name: "Molly", to: "molly@yahoo.com" },
{ name: "Forneria Marconi", to: "live@japan.jp" },
{ name: "Master <em>Sync</em>", to: "205bw@samsung.com" },
{ name: "Dr. <strong>Tech</strong> de Log", to: "g15@logitech.com" },
{ name: "Don Corleone", to: "don@vegas.com" },
{ name: "Mc Chick", to: "info@donalds.org" },
{ name: "Donnie Darko", to: "dd@timeshift.info" },
{ name: "Quake The Net", to: "webmaster@quakenet.org" },
{ name: "Dr. Write", to: "write@writable.com" },
{ name: "GG Bond", to: "Bond@qq.com" },
{ name: "Zhuzhu Xia", to: "zhuzhu@qq.com" }
];

$(function() {
$('#keyword').autocomplete(emails, {
max: 12, //列表里的条目数
minChars: 0, //自动完成激活之前填入的最小字符
width: 400, //提示的宽度,溢出隐藏
scrollHeight: 300, //提示的高度,溢出显示滚动条
matchContains: true, //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
autoFill: false, //自动填充
formatItem: function(row, i, max) {
return i + '/' + max + ':"' + row.name + '"[' + row.to + ']';
},
formatMatch: function(row, i, max) {
return row.name + row.to;
},
formatResult: function(row) {
return row.to;
}
}).result(function(event, row, formatted) {
alert(row.to);
});
});
</script>
...全文
180 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
敛我半世癫狂 2013-06-15
  • 打赏
  • 举报
回复
页面加载时会自动触发
ILOVE_ASPNET 2013-06-09
  • 打赏
  • 举报
回复
引用 1 楼 zhu1986lu 的回复:
前端
 $(function () {
            var url = "/RepairIn/InitFailCode";
            $.ajax({
                type: "POST",
                async: false,
                url: encodeURI(url),
                success: function (data) {
                    $('#failCode').autocomplete(data, {
                        max: 10,    //列表里的条目数
                        minChars: 1,    //自动完成激活之前填入的最小字符
                        width: 300,     //提示的宽度,溢出隐藏
                        scrollHeight: 300,   //提示的高度,溢出显示滚动条
                        matchContains: true,    //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
                        autoFill: false,    //自动填充
                        formatItem: function (row, i, max) {
                            return i + ':"' + row.Code + '"[' + row.Name + ']';
                        },
                        formatMatch: function (row, i, max) {
                            return row.Code + row.Name;
                        },
                        formatResult: function (row) {
                            return row.Code;
                        }
                    }).result(function (event, row, formatted) {
                        document.getElementById("failName").value = row.Name;
                        checkSubmit();
                    });
                }
            });
        });
后台返回JSON数组 public ActionResult InitFailCode() { List<object> items = new List<object>(); using (DataTable dt = _failCode.SelectFailCode("", "", 1)) { foreach (DataRow dr in dt.Rows) { var item = new { Code = dr["FAILURE_CODE"].ToString().Trim(), Name = dr["FAILURE_NAME"].ToString().Trim() }; items.Add(item); } } return Json(items, JsonRequestBehavior.AllowGet); }
在1楼的代码示命名, ajax url后面拼,或者是用 data:{param:param} 方式进行传递参数
wilson0424 2013-06-09
  • 打赏
  • 举报
回复
再问下,那传值到后台,是怎么传过去了。(参数的传递) 谢谢
wilson0424 2013-06-09
  • 打赏
  • 举报
回复
再问下,那什么时候触发$.ajax。
敛我半世癫狂 2013-06-08
  • 打赏
  • 举报
回复
前端
 $(function () {
            var url = "/RepairIn/InitFailCode";
            $.ajax({
                type: "POST",
                async: false,
                url: encodeURI(url),
                success: function (data) {
                    $('#failCode').autocomplete(data, {
                        max: 10,    //列表里的条目数
                        minChars: 1,    //自动完成激活之前填入的最小字符
                        width: 300,     //提示的宽度,溢出隐藏
                        scrollHeight: 300,   //提示的高度,溢出显示滚动条
                        matchContains: true,    //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
                        autoFill: false,    //自动填充
                        formatItem: function (row, i, max) {
                            return i + ':"' + row.Code + '"[' + row.Name + ']';
                        },
                        formatMatch: function (row, i, max) {
                            return row.Code + row.Name;
                        },
                        formatResult: function (row) {
                            return row.Code;
                        }
                    }).result(function (event, row, formatted) {
                        document.getElementById("failName").value = row.Name;
                        checkSubmit();
                    });
                }
            });
        });
后台返回JSON数组 public ActionResult InitFailCode() { List<object> items = new List<object>(); using (DataTable dt = _failCode.SelectFailCode("", "", 1)) { foreach (DataRow dr in dt.Rows) { var item = new { Code = dr["FAILURE_CODE"].ToString().Trim(), Name = dr["FAILURE_NAME"].ToString().Trim() }; items.Add(item); } } return Json(items, JsonRequestBehavior.AllowGet); }

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧