Thanks to Ken Buja and Jason Zou for quick reply.
I will give more explanation about my layers and legend.
Html code for checkbox:
<li>
<input type='checkbox' class='cbLayers beaches' id='0,1,2,3,4,5' value=603 onclick='updateLayerVisibility(this);'/>
</li>
<li>
<input type='checkbox' class='cbLayers beaches' id='6,7,8,9,10,11' value=1 onclick='updateLayerVisibility(this);'/>
</li>
<li>
<input type='checkbox' class='cbLayers beaches' id='12,13,14,15,16,17' value=3 onclick='updateLayerVisibility(this);'/>
</li>
JavaScript code:
Add LayerCode: "Add layers to the Map"
function mapAddLayer(layer) {
if(layer.declaredClass == "esri.layers.FeatureLayer") {
var pt = layer._url.path.split("/").slice(-1)[0];
map.FeatureLayer[pt] = layer;
} else {
map.addLayer(layer);
}
}
For Layer on/off code:
var inputs = dojo.query(".cbLayers");
for (var i = 0; i < inputs.length; i++) {
if (inputs.checked) {
console.log(inputs);
updateLayerVisibility(inputs);
}
}
function updateLayerVisibility(el) {
var ptids = el.id.split(",");
if(el.checked) {
for(var i = 0; i < ptids.length; i++) {
ptlayer = map.FeatureLayer[ptids];
map.addLayer(ptlayer);
}
} else {
for(var i = 0; i < ptids.length; i++) {
var ptlayer = map.FeatureLayer[ptids];
map.removeLayer(map.getLayer(ptlayer.id));
}
}
}
Legend code:
var legend = new esri.dijit.Legend({
map : map,
}, "legendDiv");
legend.startup();
BaseMap code:
var basemaps = [];
var streetBasemap = new esri.dijit.Basemap({
layers : [Street_Map_TemplateLayer],
title : "Streets",
thumbnailUrl : "images/Streets.png"
});
basemaps.push(streetBasemap); // ("Like the way i added all the basemap layers");
dojo.forEach(basemapGallery.basemaps, function (basemap) {
dijit.byId("baseMenu").addChild(new dijit.MenuItem({
label : basemap.title,
onClick : dojo.hitch(this, function () {
this.basemapGallery.select(basemap.id);
})
}));
});
Here i have multiple feature layers and grouped by category wise(check box ids are same as layer ids).
Thanks