在 jQuery UI 组合框中禁用分隔线

Disable Divider in jQuery UI Combobox

我有一个自定义的自动完成组合框,在此处进行了描述:https://jqueryui.com/autocomplete/#combobox

jquery ui 具有此功能,它会自动将带有“-”标签的选项更改为分隔符。如果你想要它,那很好,但如果你不想要它,那就麻烦了。

如何摆脱此示例中的这种行为?

文档和一些 google 搜索为我提供了使用构造函数方法的解决方案:

_isDivider: function( item ) {
  return false;
}

https://api.jqueryui.com/menu/#method-_isDivider

但我尝试将其添加到自动完成初始化部分的末尾,如下所示:

.autocomplete({ ...some parameter }).menu('instance')._isDivider = function () {
    return false;
};

但没有成功。 我不知道在哪里以及如何添加这个方法来摆脱分隔符。

有人知道吗?

这是我复制的 jquery ui 自动完成组合框示例:https://codepen.io/Killerbear_02/pen/MWgPoGW

你快到了。您需要访问 ui.menu prototype 才能禁用 _isDivider 方法。只需将此粘贴到代码中的 $( "#combobox" ).combobox(); 之前:

$.ui.menu.prototype._isDivider = function() { return false; }