私はフィルターを使用していますが、ユーザーが入力ボックスに入力すると、すべてがうまく機能します。私が望むのは、ユーザーの入力なしで、コードを介してフィルター処理された結果を更新することです (たとえば、クエリをクリアするため)。変更イベントをトリガーするか、単に入力フィールドの値をクリアしようとしましたが、成功しませんでした。
これが私の最も単純なHTMLです
<div ng-app ng-controller="test">
<input type="text" ng-model="query" placeholder="search..">
<button>Clear</button>
<ul class="unstyled">
<li ng-repeat="item in list | filter:query">
{{item}}
</li>
</ul>
</div>
そして、ここにJSがあります:
function test($scope) {
$scope.list = [120, 566, 777, 889, 998, 332, 112, 440, 881];
$('button').click(function() {
$('input').val('');
});
}
キーボードを使用して入力の内容を削除せずに結果のフィルタリングを解除するにはどうすればよいですか?コードを使用して(クリアボタンをクリックするなど)実行しますか?