【问题标题】:Replace <ul> in jQuery autocomplete with select将 jQuery 自动完成中的 <ul> 替换为 select
【发布时间】:2013-01-01 05:21:08
【问题描述】:

我想从 jQuery 自动完成功能中删除 ul 并将其替换为 select-options(常规下拉菜单)。请注意,我想更换吸盘,而不是在其中嵌入下拉菜单,这是我在其他主题上看到的那种解决方案。

谢谢!

【问题讨论】:

  • 您能否提及一些代码或您要实现的目标的更多细节。可能是一些示例输入和输出。
  • 我正在使用 jQuery 自动完成,它利用未排序的列表来显示选择。我想用我自己的自定义列表实际替换这个列表,在这种情况下是一个选择选项 HTML 下拉列表。
  • 您能否添加您现在拥有的 HTML 以及预期的 HTML
  • 您是否正在考虑通过在列表呈现后替换列表来入侵它?如果是这样,那么这不正是我正在寻找的。我希望自动完成小部件有一些内置的东西我可以覆盖。
  • 是的。你的问题不清楚。

标签: jquery autocomplete html-lists jquery-autocomplete jquery-ui-autocomplete


【解决方案1】:

您是在谈论 jQuery UI 的自动完成小部件吗?

如果是这样,它不支持以您想要的方式自定义输出元素。如果您查看源代码,您会发现 &lt;ul&gt;&lt;li&gt; 元素在其中非常硬编码。任何解决方案都需要您试图避免的那种事后黑客攻击。

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L183

https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L535

当然,你可以只 fork jQuery UI。

【讨论】:

  • 嗯,对于新年前夜来说,这真是个坏消息。
  • 是时候推出你自己的版本了!克隆他们的小部件、稍微更改名称并更改元素并不难。 (您甚至可以扩展它以允许您想要的那种自定义 UI 元素,并将其提供给其他人。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 2012-05-25
  • 2017-09-19
  • 1970-01-01
  • 2013-07-01
相关资源
最近更新 更多