jQueryui autocomplete使用示例

html标签:

<input  id="province" name="province"></li>
<input  id="city" name="city"  type="text"></li>

需要引入的js文件:

<script src="js/jquery.min.js"></script>

<script src="js/jquery-ui.min.js"></script>

页面上的javascript代码

<script>
    var url = "<%=servlet.getPath() %>";
    var lastXhr;
    $("#province").autocomplete({
        minLength: 1,
        source: function (request, response) {
            var term = request.term;
            lastXhr = $.getJSON(url+"?beanName=ProvinceData", request, function (data, status, xhr) {
                if (xhr === lastXhr) {
                    response( $.grep( data, function( item ){
                        if(item.indexOf(request.term)!=-1)return item;
                    }) );
                }
            });
        },
        select:function(event, ui){
            $("#city").autocomplete({
                minLength:1,
                source:function(request1,response1){
                    var term = request1.term;
                    $.getJSON(url+"?beanName=CityData&province="+ui.item.value,request1,function(data1,status1,xhr1){
                        response1($.grep(data1,function(item){
                            if(item.indexOf(request1.term)!=-1)return item;
                        }));
                    });
                }
            });
        }
    });
</script>

服务端的java代码:

@BeanDef(value="ProvinceData",scope=PrototypeScope.class)
    public static Object provinceData(@BeanRef ProvinceService provinceService) throws Exception{
        List<Province> provinces = provinceService.getProvinceByName(new String(""));
        List<String> nameList = new ArrayList<String>();
        for(Province province:provinces){
            nameList.add(province.getName());
        }
        JsonModel model = new JsonModel(nameList);
        return model;
    }

    @BeanDef(value="CityData",scope=PrototypeScope.class)
    public static Object cityData(@Param("province")String province,
            @BeanRef ProvinceService provinceService,
            @BeanRef CityService cityService) throws Exception{
        System.out.println(province);
        List<Province> provinces = provinceService.getProvinceByName(province);
        List<String> nameList  = new ArrayList<String>();
        if(provinces != null && provinces.size()==1){
            List<City> cities = cityService.getCityByProvinceID(provinces.get(0).getId());
            for(City city:cities){
                nameList.add(city.getName());
            }
        }else{
            nameList.add("");
        }
        JsonModel model = new JsonModel(nameList);
        System.out.println(model.toString());
        return model;
    }

jQueryui autocomplete使用示例,布布扣,bubuko.com

时间: 2024-10-31 15:17:47

jQueryui autocomplete使用示例的相关文章

jQueryUI Autocomplete插件使用入门教程(最新版)---------转载

前言: jQuery,无需多作介绍,相信各位读者都应该接触或使用过了.jQuery UI,简而言之,它是一个基于jQuery的前端UI框架.我们可以使用jQuery + jQuery UI非常简单方便地制作出界面美观.功能强大.跨浏览器兼容的前端html界面. 今天,我们就来介绍jQuery UI中一个功能非常强大的部件Autocomplete. Autocomplete,是一个功能强大的自动完成输入的jQuery插件,它也是jQuery UI的一部分.相信用过百度或者Google搜索的读者一定

从零开始学习jQuery (十) jQueryUI常用功能实战

原文:从零开始学习jQuery (十) jQueryUI常用功能实战 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始

一些基于jQuery开发的控件

基于jQuery开发,非常简单的水平方向折叠控件.主页:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html (无法找到)下载:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html 示例:http://letmehaveblog.blogspot.com/2007

Jquery 插件集合

JQuery插件繁多,下面是个人在工作和学习中用到感觉不错的,特此记录. UI: jquery UI(官方的UI插件,很好很强大功能完备,灵活性很强,有十几套主题可供选择,但由于其中大量使用了CSS3,可能会对你造成兼容性的困扰) jQuery EasyUI (现在很受欢迎的一套UI,方便集成,但会有一些小问题,灵活性也有所不足,有些地方需要手动调整,前提是你要先从凌乱的代码中找到它的位置) 布局: layout ( 布局?css不就够了吗? 尝试下layout把,非常适合管理系统布局,它将会带

android 自动匹配文本 AutoCompleteTextView /MultiAutoCompleteTextView

AutoCompleteTextView:每个文本框只能匹配一次 MultiAutoCompleteTextView:能以分隔符为分割点多次匹配 1 //AutoComplete 的 XML示例 2 <AutoCompleteTextView 3 android:completionThreshold="3" //输入数达到3时开始显示提示 4 android:id="@+id/autoCompleteTextView1" 5 android:layout_w

搜索模糊匹配

Js代码 //使得下拉框的宽度和输入框保持一致 $("#schname").css("width",$("#named").width()); //监听输入框 $("#named").keyup(function (){ if($("#named").val().length>0){ var html=""; var len=websites.length>11?11:web

requireJS简单入门学习

概要 requireJS,翻译成中文即"需要js",说白了就是加载js文件用的.怎么加载呢?,即遵循AMD规范的模块化加载.除了AMD规范还有一个叫做CMD规范,遵循CMD规范的模块加载器,比较有名的应该是国内的淘宝首席架构师"玉伯"写的SeaJS了,而且这货听说还能加载css文件,似乎很niubility! 但是今天讲的是requireJS,至于二者的优缺点请参考:http://www.zhihu.com/question/20342350,后来发现最火的答案居然

requireJS简单的学习门户网站

总结 requireJS.这翻译成中国"必须js".说白了就是装js文件与.如何装好了?.这是继AMD标准化的模块化装.除了AMD另一种规范称为CMD规范.跟随CMD兼容模块加载.的淘宝首席架构师"玉伯"写的SeaJS了,并且这货听说还能载入css文件.似乎非常niubility! 可是今天讲的是requireJS,至于二者的优缺点请參考:http://www.zhihu.com/question/20342350,后来发现最火的答案竟然是seaJS的作者写的,看来

C#中使用JQueryUI中Autocomplete插件

服务器端后台代码: 1 private string GetModelNames() { 2 return @"[ 3 { 4 'value': 'jquery', 5 'label': 'jQuery', 6 'desc': 'the write less, do more, JavaScript library', 7 }, 8 { 9 'value': 'jquery-ui', 10 'label': 'jQuery UI', 11 'desc': 'the official user i