title: Knockout observable change not detected if value changed externally
body: <p>I have a list of text boxes bound to the <code>ko.observableArray</code>.</p>
  
  <p>I have to make sure that text box values can't be blank, and I do it with jQuery by setting the value to 0 if it's blank on <code>blur()</code></p>
  
  <p>The problem is that the value change done with jQuery is not registered by knockout.</p>
  
  <p><strong>How do I observe the value change in my model?</strong></p>
  
  <p>See my simplified fiddle to get the point across - 
  <a href="http://jsfiddle.net/k45gd/1/" rel="nofollow">http://jsfiddle.net/k45gd/1/</a></p>
  
  <p><strong>HTML</strong></p>
  
  <pre><code>&lt;input type="number" data-bind="value: age" /&gt;
  &lt;span data-bind="text: age"&gt;&lt;/span&gt;
  &lt;button data-bind="click: setAgeExternally"&gt;I want the label to change to 0&lt;/button&gt;
  </code></pre>
  
  <p><strong>JS</strong></p>
  
  <pre><code>var model = function() {
      this.age = ko.observable(21);
  
      //this code is outside of the model, this is oversimplification
      this.setAgeExternally = function(){
          $('input').val(0);
      }
  };
  
  ko.applyBindings(new model());
  </code></pre>