jquery.autocomplete解决方法

jquery.autocomplete
输入首字母的时候 有自动提示,输入第二个字母或者以后字母就没有提示
这是相关代码 
前台 
<input id="supplier_s" name="supplier_s" type="text" value="" oninput="supplier(this)" onpropertychange="supplier(this)"  runat="server" />

js 
function supplier(obj) {
            $.ajax({
                type: "post",
                //'/Purchase/FindSupplier?Supplier=' + obj.value,
                url: '@Url.Action("FindSupplier","Purchase")',
                data: "Supplier=" + obj.value,
                //contentType: "application/json",

                success: function (result) {
                    //alert(result);
 
                    var results = result.split(",");
                    $("#supplier_s").autocomplete(results);
                    //alert(result);
                },
                error: function (err) {
                    alert(err);
                }
            });
    }

控制器
[HttpPost]
        public JsonResult FindSupplier(string Supplier)
        {
            string Suppliers="%"+Supplier+"%";
            //取得模糊查询的数据源
            string sql = string.Format(@"select SupplierName from jxc_supplier where SupplierName like '{0}'", Suppliers);
            List<Supplier> dt = new DbHelper().Context.Sql(sql).QueryMany<Supplier>();

            //回传数据源
            string data = "";
            int i;
            for (i = 0; i < dt.Count; i++)
            {
                //往字符串中添加数据并用,号隔开
                if (i < (dt.Count - 1))
                {
                    data += dt[i].SupplierName + ",";
                }
                else
                {
                    data += dt[i].SupplierName;
                }
                
            }
            //ViewBag.Supplier = data;
            return Json(data);
        }
  
在ff firbug调试 ,当输入第二个字母或后面的关键字时 响应的数据源是对的,但是就是没有自动提示.
mvc的,帮忙看看
------解决思路----------------------
换个autocomplite插件吧,这个问题不好说,要是不好解决,换插件,我用过ligerui 的自动完成插件不错
------解决思路----------------------
首先,你的代码的input绑定两个事件的原因是什么?onchange一个是不是就可以了?
第二,你的代码应该是在用户没输入一个字符就往服务器发送一次请求,有没有可能前一次请求发送出去之后,还没有收到返回值就又需要发送第二次请求了?建议加一个延时,并且在下一次请求发送的时候,如果上一个请求还没有来记得返回,取消上一个请求。这样可以减轻客户端和服务器的负担,毕竟每次请求和服务器查询都是要消耗资源的。
------解决思路----------------------
直接绑定jquery的autocomplete就好了吧,干嘛还得自己用ajax请求数据?。。source配置为url地址,url地址返回autocomplete需要格式的数据就行了

http://api.jqueryui.com/autocomplete/#option-source