$(function(){  
$('#keyword').autocomplete(arr, //arr是数组格式的数据
{ width:300,
scroll:false,//不显示滚动条
Height:500,
formatItem:function(row, i, max) { },//显示
formatMatch: function(row, i, max) { },//匹配
formatResult: function(row) { }//结果}).result(function(event, row, formatted) { //点击列表后}); 
         
});
}
我现在在文本框输入字母或汉字都可以显示列表,但只能是它们中的一个,我想要的结果是无论字母还是汉字都要显示列表,要怎么设置呢???
(我可以把$('#keyword').autocomplete........单独放倒一个函数里,在keyword里添加onkeyup事件,根据文本框输入来判断列表显示,但这样子在页面第一次打开时或者刷新后在文本框输入时没有列表显示,这时在点击一下页面空白处,然后再在文本框输入时,就会有列表显示),请高手们多多指教啊!!!

解决方案 »

  1.   

    需要建立字母和汉字对应的索引库或是数据,也可以调用网上提供的webservice服务
      

  2.   


    嘿嘿,我已经有了和汉字对应的数据了,就是后面不知道怎么处理!!!可以看下http://cn.morningstar.com/main/default.aspx他的效果,就是这样!!
      

  3.   

    完整代码如下:<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title>自定义提示</title> 
    <script type="text/javascript" src="js/jquery.1.3.2.js"></script> 
    <script type="text/javascript" src="js/jquery.autocomplete.min.js"></script> 
    <link rel="Stylesheet" href="js/jquery.autocomplete.css" /> 
    <script type="text/javascript"> 
    var emails = [ 
    { name: "Peter Pan", sex: "男" }, 
    { name: "Molly", sex: "女" }, 
    { name: "Zhuzhu Xia", sex: "男" } 
    ]; 
    $(function() { $('#keyword').autocomplete(emails , { 
     width:400,
    scroll:false,
    Height:500,
    formatItem: function(row, i, max) { 
    return i + '/' + max + ':"' + row.name + '"[' + row.sex + ']'; 
    }, 
    formatMatch: function(row, i, max) { 
    return  row.sex+row.name ; //如果写成return  row.name+row.sex ;则是按name匹配,
                                   //        反之是sex 匹配现在想两个匹配都可以
    }, 
    formatResult: function(row) { 
    return row.name; 

    }).result(function(event, row, formatted) { 
    //alert(row.to); 
    }); 
    }); 
    </script> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <input id="keyword" style="width:400px"/> 
    <input id="getValue" value="GetValue" type="button" /> 
    </div> 
    </form> 
    </body> 
    </html>