Javascript typeahead下拉列表结果右对齐-右拉
试图了解如何仅在angular typeahead下拉列表中实现Javascript typeahead下拉列表结果右对齐-右拉,javascript,angularjs,twitter-bootstrap,typeahead,angularjs-bootstrap,Javascript,Angularjs,Twitter Bootstrap,Typeahead,Angularjs Bootstrap,试图了解如何仅在angular typeahead下拉列表中实现pull right类 问题: 输入位于窗口的右侧(这是搜索输入框的典型情况) 我的结果比我的输入(和包含的div)更宽 我需要下拉列表的右侧与输入框的右侧对齐,并在左侧延伸到输入宽度的上方(下方) (下拉列表只需要移动,其中的文本对齐方式不会改变,应该保持向左对齐。即,不像本期中的RTL:) 对包含的div应用pull right类似乎不会独立于输入影响下拉列表。 我不知道还能放在哪里 是否有CSS方法控制下拉div的对齐 已
pull right
类
问题:
- 输入位于窗口的右侧(这是搜索输入框的典型情况)
- 我的结果比我的输入(和包含的div)更宽
- 我需要下拉列表的右侧与输入框的右侧对齐,并在左侧延伸到输入宽度的上方(下方)李>
- (下拉列表只需要移动,其中的文本对齐方式不会改变,应该保持向左对齐。即,不像本期中的RTL:)
pull right
类似乎不会独立于输入影响下拉列表。我不知道还能放在哪里 是否有CSS方法控制下拉div的对齐 已在以下内容中修改了:
- 在包含的div中包括
类pull right
- 放置在一个包含div以缩小宽度(可能不必要?)
<div class='column'>
<div class='container-fluid pull-right' ng-controller="TypeaheadCtrl">
<h4>Asynchronous results</h4>
<pre>Model: {{asyncSelected | json}}</pre>
<input type="text" ng-model="asyncSelected" placeholder="Locations loaded via $http" typeahead="address for address in getLocation($viewValue)" typeahead-loading="loadingLocations" class="form-control">
<i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
</div>
</div>
异步结果
模型:{{asyncSelected | json}}
我研究了以下问题,这些问题似乎对我没有帮助:
- -打印前对齐问题
- 第2045期
生成的内联样式。下拉菜单
,按typeahead。大致如下:
.dropdown-menu{
left: auto !important;
right:10px;
}
另一个选项是使用
typeahead弹出模板url
钩子,对默认模板实现进行少许更改
使用这种方法,您可以使用多个ui typeahead实例逐个定义所需的布局
不要忘记根据您的具体使用情况调整右侧的长度
(函数(){
"严格使用",;
angular.module('myAnswer',['ui.bootstrap']);
})();代码>
静态阵列
模型:{selected | json}
-
尝试键入“Rio”或“Janeiro”
Thank@M.Doye-看起来是个不错的解决方案-在纯angularjs环境中可以工作吗?(我们目前在应用程序中没有jquery)。我想这需要某种指令?@Ben你可以只使用CSS,但必须使用!重要信息
。已经更新了我的答案,而且看起来不错!修改了你的plunker,用两个不同的输入框显示你的CSS解决方案&不同的结果对齐现在你可以在页面的任意一侧显示:-)就我而言,这应该是公认的答案。一个改进是计算正确的位置。如果我们在控制器中获得页面宽度,如:$scope.windowWidth=document.documentElement.clientWidth
。然后我们可以这样计算右位置:right:$parent.windowWidth-position().left-position().width+'px'}“
.dropdown-menu{
left: auto !important;
right:10px;
}