Here is my suggested changes. Call the initLayer() function somewhere in your apps startup. Notice line 23 below is commented out. This is what I was telling you to do earlier.
function initLayer() {
var roadsLayer1 = new esri.layers.FeatureLayer("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", {
id: "roadLayerId1",
mode: FeatureLayer.MODE_ONDEMAND,
outFields: ["*"],
infoTemplate: new PopupTemplate({
title: "ROAD ID : {****}",
description: "<br />ROAD NAME: {***}" +
"<br />ROAD CATEGORY: {***}" +
"<br />OBJECTID: {OBJECTID}"
})
});
var fieldsSelectionSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([255, 0, 0]), 3);
roadsLayer1.setSelectionSymbol(fieldsSelectionSymbol);
map.addLayer(roadsLayer1);
}
function zoomRow(id) {
alert("id = " + id);
var query = new Query();
query.where = "OBJECTID=" + id;
query.spatialRelationship = Query.SPATIAL_REL_ENVELOPEINTERSECTS;
query.returnGeometry = true;
query.outFields = ["ObjectID", "*****", "***", "****"];
roadsLayer1.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function(features) {
var stateExtent = features[0].geometry.getExtent().expand(5.0);
map.setExtent(stateExtent);
});
}