Spelling trouble

http://stackoverflow.com/questions/13733623/knockoutjs-mapping-json-to-viewmodel/13734651#13734651

by MizardX

HTML

<div>    
  <table border="1" cellpadding="0" cellspacing="0">
    <tbody data-bind="foreach: quickEntries">
      <tr>
        <td data-bind="text: ItemPartNumb"></td>
        <td data-bind="text: ItemDescription"></td>     
      </tr>
    </tbody>
  </table>
</div>

JavaScript

var QuickEntry = function(_itemPartNumb, _itemDescription) {    
    this.ItemPartNumb = ko.observable(_itemPartNumb);
    this.ItemDescription = ko.observable(_itemDescription);        
};

function QuickEntriesViewModel () {        

    var self = this;
    self.quickEntries = ko.observableArray([]);

    // Simulate the AJAX call:
    var data = [
        { ItemPartNumb: 1, ItemDescription: 'Item 1' },
        { ItemPartNumb: 2, ItemDescription: 'Item 2' },
        { ItemPartNumb: 3, ItemDescription: 'Item 3' },
        { ItemPartNumb: 4, ItemDescription: 'Item 4' }
    ];                

    // ko.utils.arrayMap == $.map
    var mappedQuickEntries = ko.utils.arrayMap(data, function (item) {
        return new QuickEntry(item.ItemPartNumb, item.ItemDescription);
    });

    self.quickEntries(mappedQuickEntries);              
};

ko.applyBindings(new QuickEntriesViewModel());