Angular Material自动完成

<pre><code class="lang-html"><html lang = en> <head> <link rel = stylesheet href = https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css> <script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js></script> <script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js></script> <script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js></script> <script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js></script> <script src = https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js></script> <script language = javascript> angular .module('firstApplication', ['ngMaterial']) .controller('autoCompleteController', autoCompleteController); function autoCompleteController ($timeout, $q, $log) { var self = this; self.simulateQuery = false; self.isDisabled = false; // list of states to be displayed self.states = loadStates(); self.querySearch = querySearch; self.selectedItemChange = selectedItemChange; self.searchTextChange = searchTextChange; self.newState = newState; function newState(state) { alert(This functionality is yet to be implemented!); } function querySearch (query) { var results = query ? self.states.filter( createFilterFor(query) ) : self.states, deferred; if (self.simulateQuery) { deferred = $q.defer(); $timeout(function () { deferred.resolve( results ); }, Math.random() * 1000, false); return deferred.promise; } else { return results; } } function searchTextChange(text) { $log.info('Text changed to ' + text); } function selectedItemChange(item) { $log.info('Item changed to ' + JSON.stringify(item)); } //build list of states as map of key-value pairs function loadStates() { var allStates = '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 Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; return allStates.split(/, +/g).map( function (state) { return { value: state.toLowerCase(), display: state }; }); } //filter function for search query function createFilterFor(query) { var lowercaseQuery = angular.lowercase(query); return function filterFn(state) { return (state.value.indexOf(lowercaseQuery) === 0); }; } } </script> </head> <body ng-app = firstApplication ng-cloak> <div ng-controller = autoCompleteController as ctrl layout = column ng-cloak> <md-content class = md-padding> <form ng-submit = $event.preventDefault()> <p><code>md-autocomplete</code> can be used to provide search results from local or remote data sources.</p> <md-autocomplete ng-disabled = ctrl.isDisabled md-no-cache = ctrl.noCache md-selected-item = ctrl.selectedItem md-search-text-change = ctrl.searchTextChange(ctrl.searchText) md-search-text = ctrl.searchText md-selected-item-change = ctrl.selectedItemChange(item) md-items = item in ctrl.querySearch(ctrl.searchText) md-item-text = item.display md-min-length = 0 placeholder = US State?> <md-item-template> <span md-highlight-text = ctrl.searchText md-highlight-flags = ^i>{{item.display}}</span> </md-item-template> <md-not-found> No states matching {{ctrl.searchText}} were found. <a ng-click = ctrl.newState(ctrl.searchText)>Create a new one!</a> </md-not-found> </md-autocomplete> <br/> <md-checkbox ng-model = ctrl.simulateQuery>Show progress for results? </md-checkbox> <md-checkbox ng-model = ctrl.noCache>Disable caching?</md-checkbox> <md-checkbox ng-model = ctrl.isDisabled>Disable?</md-checkbox> <p><code>md-autocomplete</code> caches results when performing a query. After first call, it uses the cached results to eliminate unnecessary server requests or lookup logic and it can be disabled.</p> </form> </md-content> </div> </body> </html> </code></pre>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en" > <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"
<pre><code class=\"lang-html\"><html lang = "en"> <head> <link rel = "stylesheet"