首页 新闻 会员 周边

Jquery autocomplete使用URL方式出错

0
悬赏园豆:50 [已解决问题] 解决于 2018-04-28 07:55
$("#CustomerName").autocomplete({             
            //source: "/Test/Project/GetCompanySelectJson",
            source: [{ "label": "江苏灯为有限公司", "value": 2 }, { "label": "城中投资发展有限公司", "value": 4 }, { "label": "国啦为要", "value": 5 }],
            select: function (event, ui) {               
                $("#CustomerName").val(ui.item.label);
                $("#CustomerId").val(ui.item.value);                
                event.preventDefault();
            }
        });

使用上面的Source,autocomplete会索引出全部记录,而不是按输入的关键字,通过F12查看获得的数据,就是下面的Source值,换成下面的Source是正常使用,也就是说代码应该是没有问题的,为什么上面的Source就索引全部呢?

happydaily的主页 happydaily | 菜鸟二级 | 园豆:301
提问于:2018-04-18 21:38
< >
分享
最佳答案
0

表示不想研究autocomplete源码,不过我可以给出你另外的解决办法

既然固定的source是正常的,那么可以尝试自己ajax获取source然后初始autocomplete

$.ajax({type:'GET',url:'your url', success:function(res){
    var source = JSON.parse(res)
    $("#CustomerName").autocomplete({ source:source })
}}

 

另外一方面,autocomplete的url方式的source应该是需要你服务器去做筛选,你可以查看请求是否附带了关键字

收获园豆:40
幻影gool | 菜鸟二级 |园豆:257 | 2018-04-24 19:58
其他回答(1)
0

你这个感觉就是异步引起的问题 建议你先用ajax获取数据 不要直接用url  设置下同步 $.ajaxSettings.async = false;

收获园豆:10
丫的 | 园豆:1575 (小虾三级) | 2018-04-19 11:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册