JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://cdn.ensialumni.com/themes/default/components/bootstrap/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="http://cdn.ensialumni.com/themes/default/components/bootstrap/bootstrap/css/bootstrap-responsive.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<script src="https://code.angularjs.org/1.0.5/angular-resource.min.js"></script>
<div ng-app="app">
    <div ng-controller="divController">
       <table class="table">
        <tr>
            
            <th>Description</th>
            <th>Qty</th>
            <th>Cost</th>
            <th>Total</th>
            <th></th>
        </tr>
        <tr ng-repeat="item in cart">
            <td><input type="text" ng:model="item.description"class="input-small" /></td>           
            <td><input type="number" ng-model="item.qty" class="input-mini"/></td>
            <td><input type="number" ng-model="item.cost" clas="input-mini" /></td>
            <td>{{item.qty * item.cost | currency}}</td>
            <td>
                <button ng-click="removeItem(item)">Remove</button>
            </td>
        </tr>
    </table> 
        
        
    </div>

</div>

JavaScript

app = angular.module('app', ['ngResource']);

app.controller('divController', function($scope){
    $scope.cart={"4": {"cost": 802.85,  "description": "test", "qty": 1}, "5": {"cost": 802.85,  "description": "test", "qty": 1}};
    
    $scope.removeItem = function(item) {
        var newCart = {};
        angular.forEach($scope.cart, function(value, key) {
          if(value != item)
              newCart[key]=value;
        });
        
        $scope.cart = newCart;
    };

})