<div dojoType="dijit.MenuItem" iconClass="searchbycrossingIcon" class="menuItem" onclick="loadDotXingNumber()">DOT XING#</div> function loadDotXingNumber(){ var layerId = getlayerIdByName("primary_dataset","Active Road Crossings"); var queryTask = new esri.tasks.QueryTask(primaryMapUrl + "/"+layerId); var query = new esri.tasks.Query(); query.returnGeometry = false; query.outFields = ["OBJECTID","ENG_XING"]; query.where = "1=1" ; queryTask.execute(query,populateDotXingNumbers); } else{ dijit.byId('dotXingDialog').show(); } } function populateDotXingNumbers(results){ var dotxingnumbers = []; for (var i=0; i<results.features.length; i++){ dotxingnumbers.push(results.features.attributes["ENG_XING"]); if(results.features.attributes["ENG_XING"]=="340124F"){alert("Hurray!I find Xing");} } if (dotxingnumbers.length>0){ dotxingnumbers = removeDuplicateArrVal(dotxingnumbers); dotxingnumbers.sort(); isDotdivLoaded=true; var dotXingData = ""; for (var j=0; j<dotxingnumbers.length;j++){ dotXingData += "{name : \"" + dotxingnumbers+ "\"}"; if (j!=dotxingnumbers.length-1){ dotXingData += ","; } } showDotXingNumbers(dotXingData); } } function showDotXingNumbers(dotXingData) { var dotxingnumbers = eval("new dojo.data.ItemFileReadStore({data: {identifier : \"name\", items : [" + dotXingData + "]}})"); var myDijit = new dijit.form.ComboBox({ id: "dotxingnumbers", name: "name", store : dotxingnumbers, searchAttr: "name", value:'', promptMessage: dotXingEmptyText }); dojo.byId("dotXing").appendChild(myDijit.domNode); dijit.byId('dotXingDialog').show(); }
Solved! Go to Solution.
rather than querying for everything and then searching for 340124F, why not just query for the feature you want?query.where = "ENG_XING='340124F'" ;
query.where = "ENG_XING='340124F'" ;
rather than querying for everything and then searching for 340124F, why not just query for the feature you want?query.where = "ENG_XING='340124F'" ;