1

我正在使用Angular UI Bootstrap typeahead在用户输入文本输入表单控件时显示自定义的建议列表。这个表单控件存在于一个使用 jQuery slimScroll 的 div 中,以便保持一个恒定的 div 大小,尽管其内容的大小会波动。我真的希望 typeahead 会像常规的 html 选择下拉菜单一样显示在所有内容上,但不幸的是它没有,正如可以在这个plunker中看到的那样。我尝试过使用 z-index 并调整位置和显示属性;所有徒劳的努力。

有人知道如何让 typeahead 弹出窗口显示在其父边框上吗?如果没有,有没有办法强制选择标签显示 HTML 内容,以便在建议列表中包含字形图标、强调文本等?

4

2 回答 2

0

问题出在纤细的滚动条上——你在一个相对位置和溢出隐藏的 div 中(把它想象成一个 iFrame)。有一个小解决方法...您可以基本上将生成的 UL (.dropdown-menu) 的位置设置为fixed,为其设置高度,然后设置溢出:滚动...它可以在某些情况下工作输入字段有一个固定的位置......否则你需要控制输入的位置并调整自动完成的位置以跟随,以及其他一堆讨厌的脚本。

如果不查看您的应用程序,我无法理解您为什么拥有这种特定的架构,但我可以说必须有更简洁的选项来处理 slimscroll 之外的自动完成。

于 2016-07-14T21:12:46.047 回答
0

我只是在 typeahead 控件上设置了 typeahead-append-to-body="true" 并且它起作用了。不知道确切原因,但这肯定是一个简单的解决方案。

于 2016-07-15T16:26:58.853 回答