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

jQuery UI Autocomplete不遵循input maxlength属性,如何选中后截断内容?

解决jQuery UI Autocomplete选中长选项时截断字符串的问题

可以借助Autocomplete的select事件实现选中后的字符串截断,具体操作如下:

  • 绑定select事件,在回调里获取选中的选项文本
  • 将文本截断至100字符长度
  • 阻止组件默认的填充行为,手动把截断后的文本赋值给输入框

示例代码:

$("#your-input-id").autocomplete({
    source: ["示例建议文本", "超过100字符的长选项内容xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],
    select: function(event, ui) {
        // 阻止默认填充动作
        event.preventDefault();
        // 截断文本到100字符
        var truncatedText = ui.item.label.substring(0, 100);
        // 给输入框设置处理后的文本
        $(this).val(truncatedText);
    }
});

如果你的Autocomplete是用value字段填充输入框,只需把代码里的ui.item.label替换成ui.item.value即可。另外记得保留输入框的maxlength="100"属性,确保手动输入时也能遵守长度限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:40:41