0

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では、をゼロ文字にするか、問題を完全に修正するにはどうすればよいでしょうか?

4

0 に答える 0