$(function () {            
    $("#q").bigAutocomplete({
width:352,
data:[{title:"中国好声音",result:{ff:"qq"}},
{title:"中国移动网上营业厅"},
{title:"中国银行"},
{title:"中国移动"},
{title:"中国好声音第三期"},
{title:"中国好声音 第一期"},
{title:"中国电信网上营业厅"},
{title:"中国工商银行"},
{title:"中国好声音第二期"},
{title:"中国地图"}]
});
    
});
如上代码写是完全没有问题的,但是他的提示固定就这么几个标题,如何动态从数据库读取?
我如下写:
$(function () {    var json="";
    $.ajax({
                url: '/_ajax/Search.ashx',
                type: 'get',
                data:{key:$("#q").val(),type:search_form.catid.value},
                async:false,//阻塞方式,让数据调用完才加载图片
                dataType: "text",/*这句可用可不用,没有影响*/ 
                contentType: "application/json; charset=utf-8", 
                async:false,//要设置为同步的
                success: function(result){
                    json= result;
                },
                error: function(){return 'Error';}
            })
            
    $("#q").bigAutocomplete({
width:352,
data:eval(json)
});
});前端代码
<input id="q" class="enter" name="infos" onFocus="if(this.value=='搜索资料…'){this.value='';}else{this.select();}this.style.color='black';"  value="" autocomplete="off" />
<input class="sb" name="Input" type="submit" value="" />
能从数据库读取出来我设置的默认十个数据,但是我要是输入关键词,如何即时更新这个json这个变量来达到智能提示?
这是源码下载链接:http://tianjin.mycodes.net/201501/jQuery_baidu.zip,哪个帮我参谋下怎么弄?

解决方案 »

  1.   

    var json="";
        $.ajax({
                    url: '/_ajax/Search.ashx',
                    type: 'get',
                    data:{key:$("#q").v你应该放在input的键盘事件中,而不只是页面一上来加载一次而已
      

  2.   


    change事件?具体怎么写能指点下吗,我之前把那个ajax的提交方法写在change里面,但是不行
      

  3.   

    bigAutocomplete可以用url的
      

  4.   

    实现一个智能提示功能需要ajax、数据库、jsp/php、算法等很多知识,
    如果数据量大,还需要特殊优化
    一个小功能,花费太大精力很不划算
    我使用了92find.c-o-m的搜索框智能提示功能托管服务,
    只要一行javascript代码就可以实现百度、淘宝搜索框提示的全部功能
    比如:汉字拼音匹配、拼音前缀匹配、模糊搜索、智能容错,还可以自定义提示词汇及其排序权重
    花五分钟我的网站就可以部署同百度、淘宝一样强大好用的输入提示功能
    同时兼容IE、Firefox、Safari、Chrome、Opera各种浏览器
    兼容ios、Android、Windows
      

  5.   

    搜索框对一个网站信息传送非常重要,简直就是个跨空间的传送门!
    可是一个孤零零、没有任何提示的搜索框,反而给用户带来了无助感:很多时候用户不知道要输入些什么为什么不能像baidu、淘宝、google那样,给搜索框添加一个自动提示(自动补全)功能呢,
    对用户而言,可以有效降低输入成本,获得更多提示,快速了解网站的优质资源
    对站长而言,可以优先推送网站的优质关键信息,等于多了一个广告位,更多的展示网站优先推荐的内容。最近做了一个搜索项目,
    发现很多用户会偷懒,直接输入拼音、拼音首字母、某个词汇去进行搜索,
    那么在这种情况下,
    需要为网站的搜索框安装一个类似百度、google那样的搜索提示、补全功能。
    要求系统能快速响应用户的搜索需求,将拼音转换成相应的汉字词组去数据库检索相关的对象信息,将搜索结果展现给用户;
    同时还发现,不同的用户对用同一个词条(标题)的提示排序顺序,有不同要求,
    比如用户输入jd,高校图书馆用户希望《基督山伯爵》排在前面,《京东疯狂大减价》(我YY的)排在后面,
    如果是电商用户,恐怕正好相反,对电商而言,不同销售季节,希望搜索提示出词条的排序也是不同的。我发现在网上找个关于搜索框(input标签)自动提示的JS插件很容易,一大堆供你挑选,
    但是,要想实现拼音、拼音首字母匹配、模糊匹配、智能容错、自定义提示词条自主排序等等这些功能,
    是非常琐碎非常麻烦的,
    更麻烦的是,我的数据在50万条左右,要想前端用户输入之后有较快(延时小于100ms)的响应,
    还需要在前端加一层cache,memocache 、redis试了个遍。网上的智能提示JS插件,都仅仅是一个前端界面,要实现自动提示,最大困难的是后端实现
    92find做一个这样的JS插件:
    把前面提到那些功能都封装起来,放在一台云服务器上,
    开发者每次需要使用自动提示这个功能时,
    只需准备好要提示的词条列表或者标题列表,及其排序的优先级,
    向云服务器提交这些数据,服务自动生成前面提到的各种索引(前缀、拼音、容错),
    并且自动分发到一个cache中,
    开发者只需在自己的H5页面(或者普通HTML页面)中引用一行JS代码,
    就可以通过跨域的方式使用自动提示的数据了,
    不再需要配置什么数据库,也不需要写一行后台的java/php代码
    只需5分钟(是的,是5分钟)和一个txt文本,
    自己的搜索框提示功能就可以上线了,而且同baidu、淘宝一样强大。
    我把这个功能安装在了国内几家211、985大学的网站上下面是211 985高校的例子
    下面是电商的实例项目网站www.92find.com