AngularJs UI の先行入力機能はシンプルで強力に見えますが、主な文字でマッチングを行う方法を見つけようとしています。たとえば、入力ボックスに「A」と入力すると、名前に「A」が含まれるすべての州ではなく、「A」で始まるすべての州が表示されます。この上で、Angular には「コンパレーター」を持つカスタム フィルターの概念があるようです。これに関するドキュメントには、コンパレーターを実装するための正確な構文を示していない簡単な例があります。
html は次のようになります。
<div>Selected: <span>{{selected}}</span></div>
<div><input type="text" ng-model="selected" typeahead="name for name in states | filter:selected"></div>
基本的なJavaScriptは次のようになります
angular.module('firstChar', ['ui.bootstrap']);
function TypeaheadCtrl($scope) {
$scope.selected = undefined;
$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'];
}
ここにプランカーがありますhttp://plnkr.co/edit/LT6pAnS8asnpFEd5e6Ri
つまり、簡単に言えば、課題は、AngularUI の先行入力を主要な文字のみに一致させることです。
これに関するヘルプやアイデアは大歓迎です。