jqueryui autocomplete 控件自定义source检索

有时侯我们在做自动完成时为了从多字段去检索,往往会发起个ajax请求让服务端去实现。对于这种数据集固定不变的数据源这种做法显然给服务器增加了不少请求。

实际上jqueryui autocomplete 控件已经帮用户考虑好了这有方面需求,我们只要给source属于实现个自定义的函数即可做到。原理请查看相关文档,和以往一样我就直接上示例代码喽!

 

        $( function () {
             var cities = [
                { thrC: "SHA", initial: "sh", en: "shanghai", zh_CN: "上海" },
                { thrC: "BJS", initial: "bj", en: "beijing", zh_CN: "北京" },
                { thrC: "LON", initial: "ld", en: "london", zh_CN: "伦敦" },
                { thrC: "PAR", initial: "bl", en: "paris", zh_CN: "巴黎" },
                { thrC: "NYC", initial: "ny", en: "new york", zh_CN: "纽约" },
                { thrC: "LAX", initial: "lsj", en: "los angeles", zh_CN: "洛杉矶" },
            ],
            dialg = $('#dialog');
            $("#tags").autocomplete({
                autoFocuus:  true,
                source:  function (req, res) {
                     var city = req.term,
                        result = [];
                     if (city) {
                         var searchResult = $.map(
                            (city ? $.grep(cities,  function (value) {
                                 return value.initial.toString().indexOf(city) == 0 ||
                                    value.en.indexOf(city) == 0 ||
                                    value.zh_CN.indexOf(city) == 0 ||
                                    value.thrC.indexOf(city) == 0;
                            }) : cities),
                             function (value) {
                                 return { label: value.zh_CN + "(" + value.thrC + ")", tc: value.thrC };
                            });
                        result = result.concat($.makeArray(searchResult));
                    }
                    res(result);
                },
                select:  function (event, ui) {
                    $('#from_city').val(ui.item.tc);
                }
            });
        });

 

< body >
     < input  type ="text"  name ="fromCity"  id ="tags"   />
     < input  type ="hidden"  name ="from_city"  id ="from_city"   />
</ body >

 

 

转载于:https://www.cnblogs.com/mickeyooo/archive/2012/06/13/2547233.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值