You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery autocomplete无法显示全部结果问题求助

解决jQuery Autocomplete仅显示10条结果的问题

嘿,我之前也踩过这个坑!这是因为你用的Autocomplete插件(看起来是老版本的jQuery Autocomplete,不是后来的UI版本)默认会限制最多显示10条结果——哪怕你解析后得到了42条数据,插件也只会截取前10条来处理,这就是为什么你的formatItem只被调用10次的核心原因。

快速解决方案:添加max配置项

你只需要在autocomplete的配置选项里加上max参数,设置一个大于你数据总数的值(比如直接设为42,或者更大的100预留余量),就能让所有结果都显示出来。修改后的代码如下:

$(this).autocomplete('ajax_products_list.php?forceJson=0', {
    cacheLength: 0,
    max: 42, // 这里设置你需要显示的最大结果数,大于你的数据总量即可
    parse: function(data){
        parsed_data = [];
        tmp = data.split('\n');
        for (i=0; i < tmp.length; i++) {
            // 额外加个判断过滤空行,避免接口返回的空字符串生成无效选项
            if(tmp[i].trim() === '') continue;
            obj = tmp[i].split('|');
            parsed_data[i] = {
                data: obj[0],
                value: obj[1],
            };
        }
        return parsed_data
    },
    formatItem: function (item, position, length){
        return item;
    }
}).result(addAssociation);

额外小贴士

  1. 如果你不确定未来数据的最大条数,可以把max设为一个足够大的数值(比如1000),这样不管返回多少数据都能全部显示。
  2. 建议保留代码里的空行过滤逻辑,避免接口返回的末尾空字符串导致生成无效的空选项,影响用户体验。

内容的提问来源于stack exchange,提问作者magentodev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:45:11