我在我的项目中使用了角度bootstrap typeahead。并且有几个使用它的例子。
http://angular-ui.github.io/bootstrap/#/typeahead
使用选项" typeahead-append-to-body"将它们中的一些直接附加到正文,因此对于一个实例,我需要自定义表示,即可以为该特定添加css类仅实例,即它创建的ul,下拉菜单。但我无法做到这一点,因为我无法找到任何办法。如果将它附加到输入元素的父母身上,那将很容易,但当附加到身体上时,似乎很难。
<input type="text" typeahead-append-to-body="true" typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-template-url="customTemplate.html">
我不想直接使用body&gt; .dropdown-menu,因为它也会影响其他实例。
答案 0 :(得分:2)
我终于意识到,我可以简单地使用css属性选择器来定位我正在使用的html模板。
在输入typeahead中提到的attibute“typeahead-template-url ='mysearchdropdownpage.html'”的帮助下,我在css中写了以下内容。
HTML
<input type="search" typeahead="searchItem for searchItem in searchTypeAhead" typeahead-template-url = 'mysearchdropdownpage.html' />
CSS
ul.dropdown-menu[template-url='mysearchdropdownpage.html']
它的工作正常。
答案 1 :(得分:0)
基本上,您可以在input
标记中添加一个类,以便更准确地引用下拉菜单......
<input class="u-targetting-typeahead" ...>
...然后,在css文件中......
.u-targetting-typeahead > .dropdown-menu
...然后引用只是该输入的下拉菜单。
下拉菜单是动态创建的,但输入是以HTML格式创建的,应该是用于创建参考点的元素。
<强>调整强>
看着......
typeahead-append-to-body (默认值:false):是否应将typeahead弹出窗口附加到$ body而不是父元素?
如果将其设置为false
,则上述方法可行。我看不到任何其他合理的选择。