2016-07-12 11 views
2

私は現在watch機能を持っていますが、select allチェックボックスをクリックしたときだけ見ることができます。チェックボックスをクリックすると、個々の行に時計機能が有効になりません。checboxがng-repeatテーブルでチェックされているかチェックされていないかを調べるには

スクリプト側のコード:

$scope.$watch("checkboxes.checked", function(bool) { 
} 

HTMLコード:

<table ng-table="testTable"> 
    <tbody> 
     <tr ng-repeat="data in $data"> 
      <td data-title="Selection"> 
      <input type="checkbox" ng-model="checkboxes.items[data.id]"/> 
     </td> 
      <td data-title="data"> 
       {{data.name}} 
      < /td> 
     </tr> 
    </tbody> 
</table> 

どのように私はすべての個々の行のチェックボックスを見ていますか?おかげさまで

+1

あなたは入力で 'ng-change'を使うべきです – AshBringer

+0

ありがとう、私もng-clickを使うことができました。しかし、私はそれをやりたいとは思っていません。確かに、個々のチェックボックスを見る方法があります。 – nicker

+0

あなたは、すべてのチェックボックスのすべての変更が正しいかどうかを知っていますか?関数を使ってカスタムアクションを作成する – AshBringer

答えて

1

ngchangeを使用すると、データ全体が重いものになることがあります。あなたはそこから即興することができ、あなたのコントローラで

<table ng-table="testTable"> 
    <tbody> 
     <tr ng-repeat="data in $data"> 
      <td data-title="Selection"> 
      <input type="checkbox" ng-model="checkboxes.items[data.id]" ng-change="doSomething(data.id)"/> 
     </td> 
      <td data-title="data"> 
       {{data.name}} 
      < /td> 
     </tr> 
    </tbody> 
</table> 

$scope.doSomething = function(dataId) { 
    console.log('checkbox' + data.id + ' status'); 
    console.log(checkboxes.items[data.id]); 
} 

+0

ありがとう、私はちょうどどのように$チェック機能を任意のチェックボックスの変更を見るために使用するのだろうか?とにかくあなたの答えは私の質問の解決策と考えられますので、私は答えとしてそれをチェックします。 – nicker

+0

時計コレクションを使用することができます。 $ watchCollection( 'checkboxes.items') –

+0

は残念ながら試しましたが動作しません – nicker

関連する問題