2016-03-20 2 views
0

チェックボックスが表示されたページがあり、確認の際にユーザーがチェックしたアイテムを再表示しようとしています。チェックしたアイテムのみを表示する

これは起こりますが、アイテムが選択されていないと、バスケットから削除されません。手伝ってくれますか?

<table class="products-table-class"> 

      <tr> 
       <th>News</th> 
      </tr> 
      <tr data-ng-repeat="product in products | filter:{  category: 'News' }" > 


       <td>{{ product.product }}</td> 
       <td><input type="checkbox" ng-model="ids[product.product]"></td> 
      </tr> 



</table> 
<div class="featured-info"> 
     <h3>Basket</h3> 

     <ul> 
      <li ng-repeat="(key, value) in ids ">{{key}}</li> 
     </ul> 
    </div> 
+0

'Product。商品' とは何である へのリンクですか?チェックした値をプロダクトのプロパティとして保存して、リスト項目の 'product.checked'を使用して – sdemurjian

+0

productsがdbテーブルの行である場合、製品の行にもproductフィールドがあります...同意しますより良い名前を付けることができました。 product.nameのようなものはより意味をなさないでしょう –

答えて

0

あなたのIDオブジェクトに問題があると思います。ユーザーがチェックボックスをオフにしても、オブジェクトからオブジェクトが削除されることはありません。単純に値をtrueまたはfalseに変更します。

{ 
    '123' : true, 
    '1234' : false 
} 

したがって、この製品はバスケットから取り外されません。 ng-repeatにng-ifを追加して、値がtrueであるかどうかを確認できます。

<li ng-repeat="(key, value) in ids " ng-if="value === true">{{key}}</li> 

この値は、ブール値ではなく文字列であるため、このように見える場合があります。私は頭の上を覚えていない。

<li ng-repeat="(key, value) in ids " ng-if="value === 'true'">{{key}}</li> 

また、ここでは角ドキュメントhttps://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D

+0

ありがとう!この場所は素晴らしいです - あなたは本当に私のベーコンを救った! –

+0

喜んで助けることができます。 – mrdeleon

関連する問題