Angular UI チームの公式の Bootstrap 実装を使用しているので、angular-strap ではなく angular-bootstrap です。正常に機能している先行入力がありますが、プレースホルダー テキストを尊重していません。その理由は、結果テキストにスペースがあるためです。
ここに例があります...
<input type="text" id="clientSelected" ng-model="clientSelected" typeahead="client as (client.firstName + ' ' + client.lastName) for client in clients | filter:$viewValue" placeholder="Just start typing...">
クライアント名は次のようにリストされています: John Doe、Jane Doe など。これは、クライアントの設定を担当するコントローラー部分です。
$scope.$apply(function() {
// Result has come back from the server
$scope.clients = result;
// Doesn't fix the problem
$scope.clientSelected = '';
// Hack to fix typeahead
angular.element('#clientSelected').val('');
});
したがって、この実装では、入力には常に a がある" "
ため、プレースホルダーは表示されず、の初期値ng-model="clientSelected"
は a" "
です。その理由は、タイプアヘッドの間のスペース(client.firstName + ' ' + client.lastName)
です。
jQuery のバックグラウンドがあるので、すぐに上記のハック コードを使用して、強制的に文字数をゼロにしたくなります。明らかに、これは正しくなく、基本的なものが欠けています。
input
では、をゼロ文字にするか、問題を完全に修正するにはどうすればよいでしょうか?