Reputation: 404
Not sure what wrong I am doing, but I have followed the apparoch explained. I think, I am also getting the objects added into store object. but the same is not getting reflected on UI. the drop down is still blank. can sombody please help.
My Select box code:
<div class="ecmSearchFormInputArea">
<table class="ecmSearchFormInputArea">
<tr>
<td class="propertyRowLabel">
<label><span class="mandatory_red"></span>Cost Center :</label>
<select data-dojo-attach-point="costCenter" id="costCenter"
data-dojo-type="dijit/form/FilteringSelect" style="width: 18em;"
data-dojo-attach-event="onChange:loadDocStacks">
</select>
</td>
</tr>
</table>
</div>
My JS
postCreate: function() {
this.logEntry("postCreate");
//Trying to populate Combobox
var storeData = {
identifier: 'costCenter',
items: []
}
var jsonObj = [{
costCenter: 'sc1'
},
{
costCenter: 'sc2'
}]
dojo.addOnLoad(function () {
var costCenterStore = new dojo.data.ItemFileWriteStore({ data: storeData });
for (var i = 0; i < jsonObj.length; i++) {
alert ("value of i = " + jsonObj[i].costCenter);
costCenterStore.newItem(jsonObj[i]);
}
var serviceFilterSelect = dijit.byId('costCenter');
alert ("serviceFilterSelect " + serviceFilterSelect);
alert ("costCenterStore " + costCenterStore);
serviceFilterSelect.attr('store', costCenterStore);
});
//Trying to populate Combobox
this.logExit("postCreate");
},
Alerts in the FOR loop shows correct data. Am I missing anything?
Upvotes: 0
Views: 116
Reputation: 1600
add label attribute along with the identifier. Because that is what will be used as label to populate.
var jsonObj = [{
costCenter: 'sc1', name: 'label1'
},
{
costCenter: 'sc2', name: 'label2'
}];
var storeData = {
identifier: 'costCenter', label: 'name',
items: []
};
Upvotes: 1