如何实现java+jquery+jsp自动补全,大家帮帮忙

解决方案 »

  1.   

    顺便在问一个问题
    $().ready(function() {
    function formatItem(row) {
    return " <p>"+row[0] +" </p>"+ " <span>" + row[1] + "个结果</span>";
    }
    function formatResult(row) {
    return row[0].replace(/(<.+?>)/gi, '');
    }
    function selectItem(li) {
    makeSearchUrl(document.formkeyword);
    }
    $("#keyword").autocomplete("data.html",
    {
    delay:10,
    matchSubset:1,
    matchContains:1,
    cacheLength:10,
    onItemSelect:selectItem,//这里怎么不要加参数
    formatItem: formatItem,//这里怎么不要加参数
    formatResult: formatResult//这里怎么不要加参数
    }
    );
    });
    其中$().ready(function(){});是什么意思,javascript函数不是只能function 函数名(){}这样定义的吗?我好像还见过var aaa = function(){}这样的东西
      

  2.   

    有现成的插件,自己去看,用起来很简单http://docs.jquery.com/Plugins/autocomplete
      

  3.   

    返回值:jQueryready(fn)
    概述
    当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。 简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。 有一个参数--对jQuery函数的引用--会传递到这个ready事件处理函数中。可以给这个参数任意起一个名字,并因此可以不再担心命名冲突而放心地使用$别名。 请确保在 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。 可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。参数
    fnFunction要在DOM就绪时执行的函数示例
    描述:
    在DOM加载完成时运行的代码,可以这样写:jQuery 代码:
    $(document).ready(function(){
      // 在这里写你的代码...
    });描述:
    使用 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何。jQuery 代码:
    jQuery(function($) {
      // 你可以在这里继续使用$作为别名...
    });
      

  4.   

    小绵羊说的我明白了,我用的是MYeclipse8.5的,也不想下载Myeclipse8.6
      

  5.   

    8.5也有在项目上右键build path- configure。。-myeclipse   --  javascript  --- build.... 
      

  6.   

    jquery 有一个插件 autocomplete   插件,看一下是不是你要的效果
      

  7.   

    给个现成的例子你,分给我,谢谢:
    js://自动补齐
    $(document).ready(function(){   
            $('#uname').autocomplete("userAction!findRName.action?uType=01",{   // Action的调用 
                 minChars: 1,  // 最小输入几位开始查    
                 max: 100,  
                 width:120,   
                 scroll:true, 
                 scrollHeight:220, 
                 matchContains: false,
                // autoFill:true,
                 extraParams: {   // 传参数
                 uname: function() {
                         return $("#uname").val(); // 文本框的值
                    }   
                 },
                 formatItem: function(data, i, total) {      
                    return data[0];     // 这里必须是data[0] 
                 },      
                 formatMatch: function(data, i, total) {      
                   return data[0];      
                 },      
                formatResult: function(data) {      
                  return data[0];      
                 }      
             });   
         });jsp:
    用户姓名:<input type="text" name="user.uName" id="uname">action:
    /**自动补齐功能
     * 2011-1-10xf add
     * **/
    public String findRName() throws Exception {
    HttpServletResponse response = ServletActionContext.getResponse();
    response.setContentType("text/html;charset=UTF-8"); // 使用utf-8
    PrintWriter out = response.getWriter();
    try {
    // 参数名suggest1是提交查询关键字的。 文本框的name
    String uName = String.valueOf(request.getParameter("uname"));
    String uType = String.valueOf(request.getParameter("uType"));
    uName = new String(uName.getBytes("iso8859-1"), "utf-8"); // 转码 必须的
    // 调用Server的方法,简单,返回数组,通过流循环写
    String[] str = userService.findRoleByName(uName.trim(),uType.trim());
    if (str != null) {
    for (int i = 0; i < str.length; i++) {
    out.println(str[i]);
    }
    }
    } catch (Exception ex) {
    logger.error("查询失败");
    ex.printStackTrace();
    } finally {
    out.close();
    }
    return null;
    }
      

  8.   

    其中$().ready(function(){});是什么意思
    类似于<body onload="">
      

  9.   

    谢谢zhangpan0207,才20分,给你10分,给小绵羊10分