title: Knockout.js Cannot check checkbox added dynamically
body: <p>I am working on my first knockout project and I am finding that I can not check the checkboxes when they have been added to the page dynamically. I have tried the demo code from the knockout website and by it self it works fine, but my implementation does not. The result is no binding on 'checked' nor does my alert fire. The state of the boxes do not change when I click them and there are no javascript errors..</p>
  
  <pre><code>&lt;div class="report"&gt;
  &lt;label&gt;start date&lt;/label&gt;
  &lt;input type="text" id="date-from" data-bind="value: startDate" /&gt;
  &lt;span&gt;to &lt;/span&gt;
  &lt;input type="text" id="date-to" data-bind="value: endDate" /&gt;
  &lt;label&gt;product code&lt;/label&gt;
  &lt;input type="text" id="product-code" data-bind="value: productCode" /&gt;
  &lt;label&gt;lead type&lt;/label&gt;
  &lt;select id="lead-type" data-bind="value: leadType"&gt;
      &lt;option value="0" selected="selected"&gt;all&lt;/option&gt;
      &lt;option value="B"&gt;sales&lt;/option&gt;
      &lt;option value="Q"&gt;enquiries&lt;/option&gt;
      &lt;option value="F"&gt;failed purchases&lt;/option&gt;
      &lt;option value="C"&gt;cancelled purchases&lt;/option&gt;
  &lt;/select&gt;
  &lt;input type="submit" id="submit-query" class="button" data-bind="click: load" value="Go"/&gt;
  </code></pre>
  
  <p>
      
      
          
          Date
          Prefix
          First Name
          Last Name
          Country
          Date of Birth
          Telephone
          Email
          Global
          Complete
          
      
      
          
              
              
              
              
              
              
              
              
              
              
          
      </p>
  
  <p></p>
  
  <pre><code>$(document).ready(function () {
      var reportsViewModel = function() {
          var self = this;
          self.startDate = ko.observable();
          self.endDate = ko.observable();
          self.productCode = ko.observable();
          self.leadType = ko.observable();
          self.wantsSpam = ko.observable(true);
          self.alert = function () {
              alert(self.isActioned());
          };
  
          var queryData = {
              startDate: self.startDate,
              endDate: self.endDate,
              productCode: self.productCode,
              isActioned: false,
              leadType: self.leadType
          };
  
          function orderModel(item) {
              this.OrderDate = ko.observable(item.OrderDate),
              this.Prefix = ko.observable(item.Prefix),
              this.FirstName = ko.observable(item.FirstName),
              this.LastName = ko.observable(item.LastName),
              this.Country = ko.observable(item.Country),
              this.DateofBirth = ko.observable(item.DateofBirth),
              this.Telephone = ko.observable(item.Telephone),
              this.CustEmail = ko.observable(item.CustEmail),
              this.gbac = ko.observable(item.gbac),
              this.isActioned = ko.observable(true)
          };
  
          self.reportItems = ko.observableArray([]);
  
          self.load = function () {
              $.ajax({
                  url: sf.getServiceRoot('CC_Reporting') + "Report/getLeads",
                  type: "POST",
                  data: queryData,
                  beforeSend: sf.setModuleHeader
              }).done(function (data, status) {
                  if (data == "There are no records which match your search.") {
                      alert(data);
                      return;
                  } else {
                      self.reportItems.removeAll();
                      $.each(data, function (i, item) {
                          console.log(item);
                          self.reportItems.push(new orderModel(item));
                      });
                  }
              }).fail(function (data) {
                  alert(data);
  
              });
          }
  
  
      };
  
      ko.applyBindings(new reportsViewModel());
  </code></pre>
  
  <p>});</p>