var queryTaskName = new esri.tasks.QueryTask(""); //create an array var locNames = []; locNamesMemory = new Memory({ data: locNames, idProperty: "NAME" }); //build query filter var queryName = new esri.tasks.Query(); queryName.returnGeometry = false; queryName.outFields = ["OBJECTID","NAME"]; queryName.where = "OBJECTID > 0"; queryName.returnGeometry = false; queryTaskName.execute(query, function (results) { //parse results and add to autocomplete widget dojo.forEach(results.features, function (value, index) { locNames.push(value.attributes.NAME); }); }, function (error) { alert("Error: " + error); }); var filteringSelect = new FilteringSelect({ id: "txtSearch", name: "state", value: "Enter Name Here", store: locNamesMemory, autoComplete: true, searchAttr: ["NAME"] }, "txtSearch");Solved! Go to Solution.
locNames.push(value.attributes.NAME);
locNames.push({NAME: value.attributes.NAME}); //Push the list of road names into the combo box
query = new esri.tasks.Query();
query.where = "1=1";
query.outFields = ["*"];
query.returnGeometry = false;
var queryTask = new esri.tasks.QueryTask(SERVERPATH);
queryTask.execute(query,populateRdNameCbo);
.
.
.
function populateRdNameCbo(results) {
//Populate the dropdown list box with unique values
values = [];
testVals = {};
features = results.features;
dojo.forEach (features, function(feature) {
curName = feature.attributes.FULLNAME;
if (!testVals[curName]) {
testVals[curName] = true;
values.push({"OBJECTID":feature.attributes.OBJECTID,"RDNAME":feature.attributes.FULLNAME});
}
});
dataItems = {
identifier: "OBJECTID",
label: "RDNAME",
items: values
};
theStore = new dojo.data.ItemFileReadStore({data:dataItems});
dijit.byId("cboRdName").set("store", theStore);
} var queryTaskName = new esri.tasks.QueryTask("");
var filteringSelect;
var locNames = [];
//build query filter
var queryName = new esri.tasks.Query();
queryName.returnGeometry = false;
queryName.outFields = ["OBJECTID","NAME"];
queryName.where = "OBJECTID > 0";
queryName.returnGeometry = false;
queryTaskName.execute(queryName, function (results) {
//parse results and add to autocomplete widget
dojo.forEach(results.features, function (value, index) {
locNames.push(value.attributes.NAME);
});
// assume locNamesMemory is declared as a global variable.
locNamesMemory = new Memory({ data: locNames, idProperty: "NAME" });
filteringSelect = new FilteringSelect({
id: "txtSearch",
name: "state",
value: "Enter Name Here",
store: locNamesMemory,
autoComplete: true,
searchAttr: "NAME"
}, "txtSearch");
}, function (error) {
alert("Error: " + error);
});
function populateResultsHandler(results){
var select = registry.byId("pickSelect");//my filteringSelect dijit
pickList.length = 0;
var numResults = results.featureSet.features.length;
for (var j = 0; j < numResults; j++) {
var pickCode = results.featureSet.features.attributes[pickAttr];
pickList.push({id: pickCode, label: pickCode});
}
pickList.sort(function(item1, item2) {
var label1 = item1.label.toLowerCase(),
label2 = item2.label.toLowerCase();
return (label1 > label2) ? 1 : (label1 < label2) ? -1 : 0;
});
var dataStore = new Memory({data:pickList, idProperty:"id"});
select.set ("searchAttr", "id");
select.set("labelAttr", "id");
select.set("store", dataStore);
}
<select id="pickSelect" data-dojo-type="dijit/form/FilteringSelect" placeHolder="Select a township"
data-dojo-props="title:'Find points in selected township/range',maxHeight:200, size: 30, queryExpr:'${0}*', ignoreCase:true">
</select>
locNames.push(value.attributes.NAME);
locNames.push({NAME: value.attributes.NAME});