JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css">
<div id='sourceAddress'></div>
JavaScript
dojo.require('dojox.data.QueryReadStore');
dojo.require('dijit.form.FilteringSelect');
dojo.addOnLoad(function(){
var delay = 2000;
var value1 = 95;
var value2 = 200;
var customerAddressesPairsView = dojox.data.QueryReadStore({
url : 'http://fiddle.jshell.net/gh/gist/response.json/2165866/'
});
var w = new dijit.form.FilteringSelect({
name: 'source_address_id'
, required: true
, store: customerAddressesPairsView
, searchAttr: "name"
, style: "width: 40ex;"
}, 'sourceAddress');
w.deferred = new dojo.Deferred();
// deferredSetValues.push(w.deferred);
w.initWatch = w.watch('value', function(property, oldValue, newValue) {
w.initWatch.unwatch();
console.debug('Watch fired.', w.name, 'property:', property, 'oldValue:', oldValue,'newValue:', newValue,'w.get(\'value\'):', w.get('value'));
w.deferred.resolve();
setTimeout(function() {console.debug('Delayed get returns:', w.get('value'))}, delay)
})
w.set('value', value1)
console.debug('Value set to ' + value1)
console.debug('Immediate get returns:', w.get('value'));
console.debug('Direct access returns: ' + w.value)
setTimeout(function() {console.debug('Delayed set to ' + value2); w.set('value', value2)}, delay)
})