2017-03-14 3 views
0

ng-repeatリストでフィルタとして使用するのと同じモデルを使用して2つの入力フィールドがあります。 最初の入力はリストの最上部にあり、2番目の入力は最下部にあります。リストはかなり長くなる可能性があります。 多くの人がリストの一番下までスクロールしていて、探しているものが見つからないため、検索ボックスを最下部にも含めています。今問題は、バインディングで2つの入力が同じ値を示し、それが混乱につながる可能性があることです。だから私は、フォーカスされた入力の値を更新する(または表示する)方法があるのだろうかと思っていましたか?フォーカス入力のみを更新するviewvalue

私自身はこのテーマについて何も見つかりませんでしたが、これは単なる可能性がありません。いずれの場合でも、あなたの誰かがこの問題に対する別の解決策を持っている可能性があります。どんな助けでも大歓迎です。

ありがとうございます!

答えて

0

これはこれはあなたJsfiddle link

に役立つ次のよう

JS

var app = angular.module('myApp', []); 
    app.controller('ctrl', function($scope) { 
    $scope.data = [1, 2, 3, 4, 5]; 
    $scope.$watch('topFilter', function(old, newVal) { 
     $scope.filter = old; 
    }); 
    $scope.$watch('bottomFilter', function(old, newVal) { 
     $scope.filter = old; 
    }); 

    }); 

HTML

<div ng-app='myApp'> 
    <div ng-controller='ctrl'> 

     <span>Filter: <input type='text' ng-model='topFilter' ></span> 
     <ul> 
     <li ng-repeat='item in data|filter:filter'>{{item}}</li> 
     </ul> 
     <span>Filter: <input type='text' ng-model='bottomFilter'></span> 
    </div> 
    </div> 

希望で行うことができます

関連する問題