angular下自动补全控件ui.bootstrap.typeahead

前端之家收集整理的这篇文章主要介绍了angular下自动补全控件ui.bootstrap.typeahead前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <style>
  2. .typeahead-demo .custom-popup-wrapper {
  3. position: absolute;
  4. top: 100%;
  5. left: 0;
  6. z-index: 1000;
  7. display: none;
  8. background-color: #f9f9f9;
  9. }
  10. .typeahead-demo .custom-popup-wrapper > .message {
  11. padding: 10px 20px;
  12. border-bottom: 1px solid #ddd;
  13. color: #868686;
  14. }
  15. .typeahead-demo .custom-popup-wrapper > .dropdown-menu {
  16. position: static;
  17. float: none;
  18. display: block;
  19. min-width: 160px;
  20. background-color: transparent;
  21. border: none;
  22. border-radius: 0;
  23. Box-shadow: none;
  24. }
  25. </style>
  26.  
  27. <script type="text/ng-template" id="customTemplate.html">
  28. <a>
  29. <img ng-src="http://upload.wikimedia.org/wikipedia/commons/thumb/{{match.model.flag}}" width="16">
  30. <span ng-bind-html="match.label | uibTypeaheadHighlight:query"></span>
  31. </a>
  32. </script>
  33.  
  34. <script type="text/ng-template" id="customPopupTemplate.html">
  35. <div class="custom-popup-wrapper"
  36. ng-style="{top: position().top+'px',left: position().left+'px'}"
  37. style="display: block;"
  38. ng-show="isOpen() && !moveInProgress"
  39. aria-hidden="{{!isOpen()}}">
  40. <p class="message">select location from drop down.</p>
  41.  
  42. <ul class="dropdown-menu" role="listBox">
  43. <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }"
  44. ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{::match.id}}">
  45. <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>
  46. </li>
  47. </ul>
  48. </div>
  49. </script>
  50.  
  51. <div class='container-fluid typeahead-demo' ng-controller="TypeaheadCtrl">
  52.  
  53. <h4>Static arrays</h4>
  54. <pre>Model: {{selected | json}}</pre>
  55. <input type="text" ng-model="selected" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" class="form-control">
  56.  
  57. <h4>Asynchronous results</h4>
  58. <pre>Model: {{asyncSelected | json}}</pre>
  59. <input type="text" ng-model="asyncSelected" placeholder="Locations loaded via $http" uib-typeahead="address for address in getLocation($viewValue)" typeahead-loading="loadingLocations" typeahead-no-results="noResults" class="form-control">
  60. <i ng-show="loadingLocations" class="glyphicon glyphicon-refresh"></i>
  61. <div ng-show="noResults">
  62. <i class="glyphicon glyphicon-remove"></i> No Results Found
  63. </div>
  64.  
  65. <h4>ngModelOptions support</h4>
  66. <pre>Model: {{ngModelOptionsSelected | json}}</pre>
  67. <input type="text" ng-model="ngModelOptionsSelected" ng-model-options="modelOptions" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" class="form-control">
  68.  
  69. <h4>Custom templates for results</h4>
  70. <pre>Model: {{customSelected | json}}</pre>
  71. <input type="text" ng-model="customSelected" placeholder="Custom template" uib-typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-template-url="customTemplate.html" class="form-control" typeahead-show-hint="true" typeahead-min-length="0">
  72.  
  73. <h4>Custom popup templates for typeahead's dropdown</h4>
  74. <pre>Model: {{customPopupSelected | json}}</pre>
  75. <input type="text" ng-model="customPopupSelected" placeholder="Custom popup template" uib-typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-popup-template-url="customPopupTemplate.html" class="form-control">
  76. </div>


  1. angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope,$http) {
  2.  
  3. var _selected;
  4.  
  5. $scope.selected = undefined;
  6. $scope.states = ['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Dakota','North Carolina','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming'];
  7. // Any function returning a promise object can be used to load values asynchronously
  8. $scope.getLocation = function(val) {
  9. return $http.get('//maps.googleapis.com/maps/api/geocode/json',{
  10. params: {
  11. address: val,sensor: false
  12. }
  13. }).then(function(response){
  14. return response.data.results.map(function(item){
  15. return item.formatted_address;
  16. });
  17. });
  18. };
  19.  
  20. $scope.ngModelOptionsSelected = function(value) {
  21. if (arguments.length) {
  22. _selected = value;
  23. } else {
  24. return _selected;
  25. }
  26. };
  27.  
  28. $scope.modelOptions = {
  29. debounce: {
  30. default: 500,blur: 250
  31. },getterSetter: true
  32. };
  33.  
  34. $scope.statesWithFlags = [{'name':'Alabama','flag':'5/5c/Flag_of_Alabama.svg/45px-Flag_of_Alabama.svg.png'},{'name':'Alaska','flag':'e/e6/Flag_of_Alaska.svg/43px-Flag_of_Alaska.svg.png'},{'name':'Arizona','flag':'9/9d/Flag_of_Arizona.svg/45px-Flag_of_Arizona.svg.png'},{'name':'Arkansas','flag':'9/9d/Flag_of_Arkansas.svg/45px-Flag_of_Arkansas.svg.png'},{'name':'California','flag':'0/01/Flag_of_California.svg/45px-Flag_of_California.svg.png'},{'name':'Colorado','flag':'4/46/Flag_of_Colorado.svg/45px-Flag_of_Colorado.svg.png'},{'name':'Connecticut','flag':'9/96/Flag_of_Connecticut.svg/39px-Flag_of_Connecticut.svg.png'},{'name':'Delaware','flag':'c/c6/Flag_of_Delaware.svg/45px-Flag_of_Delaware.svg.png'},{'name':'Florida','flag':'f/f7/Flag_of_Florida.svg/45px-Flag_of_Florida.svg.png'},{'name':'Georgia','flag':'5/54/Flag_of_Georgia_%28U.S._state%29.svg/46px-Flag_of_Georgia_%28U.S._state%29.svg.png'},{'name':'Hawaii','flag':'e/ef/Flag_of_Hawaii.svg/46px-Flag_of_Hawaii.svg.png'},{'name':'Idaho','flag':'a/a4/Flag_of_Idaho.svg/38px-Flag_of_Idaho.svg.png'},{'name':'Illinois','flag':'0/01/Flag_of_Illinois.svg/46px-Flag_of_Illinois.svg.png'},{'name':'Indiana','flag':'a/ac/Flag_of_Indiana.svg/45px-Flag_of_Indiana.svg.png'},{'name':'Iowa','flag':'a/aa/Flag_of_Iowa.svg/44px-Flag_of_Iowa.svg.png'},{'name':'Kansas','flag':'d/da/Flag_of_Kansas.svg/46px-Flag_of_Kansas.svg.png'},{'name':'Kentucky','flag':'8/8d/Flag_of_Kentucky.svg/46px-Flag_of_Kentucky.svg.png'},{'name':'Louisiana','flag':'e/e0/Flag_of_Louisiana.svg/46px-Flag_of_Louisiana.svg.png'},{'name':'Maine','flag':'3/35/Flag_of_Maine.svg/45px-Flag_of_Maine.svg.png'},{'name':'Maryland','flag':'a/a0/Flag_of_Maryland.svg/45px-Flag_of_Maryland.svg.png'},{'name':'Massachusetts','flag':'f/f2/Flag_of_Massachusetts.svg/46px-Flag_of_Massachusetts.svg.png'},{'name':'Michigan','flag':'b/b5/Flag_of_Michigan.svg/45px-Flag_of_Michigan.svg.png'},{'name':'Minnesota','flag':'b/b9/Flag_of_Minnesota.svg/46px-Flag_of_Minnesota.svg.png'},{'name':'Mississippi','flag':'4/42/Flag_of_Mississippi.svg/45px-Flag_of_Mississippi.svg.png'},{'name':'Missouri','flag':'5/5a/Flag_of_Missouri.svg/46px-Flag_of_Missouri.svg.png'},{'name':'Montana','flag':'c/cb/Flag_of_Montana.svg/45px-Flag_of_Montana.svg.png'},{'name':'Nebraska','flag':'4/4d/Flag_of_Nebraska.svg/46px-Flag_of_Nebraska.svg.png'},{'name':'Nevada','flag':'f/f1/Flag_of_Nevada.svg/45px-Flag_of_Nevada.svg.png'},{'name':'New Hampshire','flag':'2/28/Flag_of_New_Hampshire.svg/45px-Flag_of_New_Hampshire.svg.png'},{'name':'New Jersey','flag':'9/92/Flag_of_New_Jersey.svg/45px-Flag_of_New_Jersey.svg.png'},{'name':'New Mexico','flag':'c/c3/Flag_of_New_Mexico.svg/45px-Flag_of_New_Mexico.svg.png'},{'name':'New York','flag':'1/1a/Flag_of_New_York.svg/46px-Flag_of_New_York.svg.png'},{'name':'North Carolina','flag':'b/bb/Flag_of_North_Carolina.svg/45px-Flag_of_North_Carolina.svg.png'},{'name':'North Dakota','flag':'e/ee/Flag_of_North_Dakota.svg/38px-Flag_of_North_Dakota.svg.png'},{'name':'Ohio','flag':'4/4c/Flag_of_Ohio.svg/46px-Flag_of_Ohio.svg.png'},{'name':'Oklahoma','flag':'6/6e/Flag_of_Oklahoma.svg/45px-Flag_of_Oklahoma.svg.png'},{'name':'Oregon','flag':'b/b9/Flag_of_Oregon.svg/46px-Flag_of_Oregon.svg.png'},{'name':'Pennsylvania','flag':'f/f7/Flag_of_Pennsylvania.svg/45px-Flag_of_Pennsylvania.svg.png'},{'name':'Rhode Island','flag':'f/f3/Flag_of_Rhode_Island.svg/32px-Flag_of_Rhode_Island.svg.png'},{'name':'South Carolina','flag':'6/69/Flag_of_South_Carolina.svg/45px-Flag_of_South_Carolina.svg.png'},{'name':'South Dakota','flag':'1/1a/Flag_of_South_Dakota.svg/46px-Flag_of_South_Dakota.svg.png'},{'name':'Tennessee','flag':'9/9e/Flag_of_Tennessee.svg/46px-Flag_of_Tennessee.svg.png'},{'name':'Texas','flag':'f/f7/Flag_of_Texas.svg/45px-Flag_of_Texas.svg.png'},{'name':'Utah','flag':'f/f6/Flag_of_Utah.svg/45px-Flag_of_Utah.svg.png'},{'name':'Vermont','flag':'4/49/Flag_of_Vermont.svg/46px-Flag_of_Vermont.svg.png'},{'name':'Virginia','flag':'4/47/Flag_of_Virginia.svg/44px-Flag_of_Virginia.svg.png'},{'name':'Washington','flag':'5/54/Flag_of_Washington.svg/46px-Flag_of_Washington.svg.png'},{'name':'West Virginia','flag':'2/22/Flag_of_West_Virginia.svg/46px-Flag_of_West_Virginia.svg.png'},{'name':'Wisconsin','flag':'2/22/Flag_of_Wisconsin.svg/45px-Flag_of_Wisconsin.svg.png'},{'name':'Wyoming','flag':'b/bc/Flag_of_Wyoming.svg/43px-Flag_of_Wyoming.svg.png'}];
  35. });

https://github.com/angular-ui/bootstrap/tree/master/src/typeahead

猜你在找的Angularjs相关文章