[easyUI] autocomplete 简单自动完成以及ajax从服务器端完成

  通过id取input标签对象,调用autocomplete方法

<script>
    var sources = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
          ]; 
    $(function() {
        $( "#tags" ).autocomplete({
            source:sources
        });
    });
</script>
<body>
    <div class="ui-widget">
        <h2>查询:<input id="tags"></h2>
    </div>
</body>

{source:sources}将多个sources的String类型数组,包装成JSON.

 

Ajax服务器端完成:

服务器端网页的Java代码,也只有java代码.

    String query = request.getParameter("term");//获取要匹配的参数
    String[] sources = {"ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"};
    StringBuilder builder = new StringBuilder("[");
    for(int i=0;i<sources.length;i++){//遍历目标数组,返回符合条件的结果
        if(null != query){
            if(sources[i].indexOf(query) >= 0){//表示如果输入了query,sources[i]的String包含String query
                builder.append("{\"label\":\""+sources[i]+"\"},");//拼接成{"label":sources[i]}的JSON数据
            }
        }else{//如果不输入query,返回所有的sources[i]成为JSON数组.
            builder.append("{\"label\":\""+sources[i]+"\"},");
        }
    }
    String result = builder.toString();//转换为字符串.
    if(result.endsWith(",")){//因为拼接的结果转换成字符串后,数组内会多出","
        result = result.substring(0,result.length()-1);//需要截去最后一个逗号.
    }
    result+="]";//拼接"]"
    out.print(result);
    
View Code

script:

    $(function() {
        $( "#tags" ).autocomplete({
            source:function(request,response){
            //request.term估计是将input内容提交后的字符串."term='字符串'",其实等价于传入一个
            //{"term":"字符串"}的JSON数据. 具体在jQuery1.11.10的帮助文档中有所描述,搜get第二个即是.
                $.get("server/demo4_server.jsp","term="+request.term,function(data){
                //url(目标地址),data(传入数据),callback(回调函数)
                    var result = $.parseJSON(data);
                    response(result);// 输出返回结果
                });
            }
        });
    });
View Code

parseJSON(String strJSON)函数:

 

转载于:https://www.cnblogs.com/zienzir/p/9221193.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JSP(JavaServer Pages)是一种服务器端的动态网页技术,它使用Java编程语言编写动态内容。它允许将Java代码嵌入到HTML页面中,以生成动态内容,例如数据库查询结果、用户输入和其他外部数据。 EasyUI是一个基于jQuery的UI库,它提供了丰富的UI组件和易于使用的API,使得开发人员可以快速地构建现代化的Web应用程序。EasyUI提供了诸如表格、树形菜单、对话框、窗口等UI组件。 jQuery是一个JavaScript库,它使得HTML文档的遍历和操作更加容易。它提供了一个简单的API,可以帮助开发人员更轻松地处理HTML文档的各种操作,例如事件处理、DOM操作、特效和AjaxAjax(Asynchronous JavaScript and XML)是一种用于Web应用程序的技术,它允许在不刷新整个页面的情况下更新页面的某一部分。它使用JavaScript和XML(或JSON)来与服务器进行异步通信,从而实现更快速、更灵活的Web应用程序。 ### 回答2: JSP(JavaServer Pages)是一种动态网页技术,它允许开发人员直接在HTML页面中嵌入Java代码,用于生成动态内容。JSP通过在服务器端执行Java代码,并将结果嵌入到HTML页面中,实现动态的web应用程序。它可以与Servlet和JavaBean一起使用,实现构建复杂的Web应用程序。 EasyUI是一种基于jQuery的开源JavaScript框架,用于构建现代化、易于使用的web界面。它提供了众多的UI组件和丰富的交互功能,如表格、表单、对话框、菜单等,使开发人员能够更加便捷地构建用户友好的web应用程序。 jQuery是一个流行的JavaScript库,简化了JavaScript的编程任务。它提供了一系列功能强大的API,对各种浏览器兼容,并具有良好的性能。通过使用jQuery,开发人员可以更容易地处理DOM操作、处理事件、实现动画效果等。 Ajax(Asynchronous JavaScript and XML)是一种用于在后台和服务器之间进行异步数据交互的技术。它允许在不刷新整个页面的情况下,通过JavaScript获取、发送数据,并动态更新页面内容。Ajax可以提高用户体验,减少服务器响应时间,并可以与各种后端技术(如JSP、Servlet)结合使用,实现更加强大的web应用程序。 总的来说,JSP是一种用于生成动态web页面的Java技术,EasyUI是基于jQuery的JavaScript框架,用于构建友好的web界面。而jQuery是一种流行的JavaScript库,简化了JavaScript编程任务。Ajax是一种用于实现异步数据交互的技术。这些技术都在web开发中发挥着重要的作用,帮助开发人员构建功能丰富、用户友好的web应用程序。 ### 回答3: JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术。它允许开发人员在Web页面中嵌入Java代码,以生成动态内容。JSP使用Java作为编程语言,它可以与HTML、CSS和JavaScript等前端技术结合,使得网页具有更好的交互性和动态性。JSP主要用于服务器端处理数据逻辑和渲染动态内容。 EasyUI是一个基于jQuery的开源的前端UI框架。它提供了一系列易于使用和高度可定制的UI组件,如表格、表单、对话框等,使得开发人员可以更快地构建出具有良好用户体验的Web界面。EasyUI的特点是简单易用、样式美观,封装了大量常用的前端功能和特效,同时还支持主题定制和插件扩展。 jQuery是一个快速、简洁的JavaScript库。它封装了JavaScript常用的操作,使得开发人员能够用更少的代码实现更多的功能。jQuery提供了操作DOM元素、处理事件、执行动画、发起Ajax请求等功能,简化了JavaScript开发过程。它还有丰富的插件库,可以方便地扩展功能。 Ajax(Asynchronous JavaScript and XML)是一种在Web应用中使用的技术。它允许Web页面通过异步地与服务器进行通信,更新部分页面内容而不用刷新整个页面。Ajax可以通过JavaScript发送HTTP请求,并使用服务器返回的数据来更新页面内容,从而实现页面的部分更新。使用Ajax可以提高Web应用的交互性和用户体验,减少网络流量和服务器负载。 综上所述,JSP是一种用于开发动态Web应用程序的Java技术,EasyUI是一个基于jQuery的前端UI框架,jQuery是一个简洁且功能强大的JavaScript库,而Ajax是一种用于实现异步通信的技术。它们相互结合使用可以实现更好的Web开发体验和用户交互效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值