Select to view content in your preferred language

TOC check/uncheck box

2014
2
Jump to solution
09-15-2014 07:39 AM
MayJeff
Deactivated User

I download TOC from this site:

http://www.arcgis.com/home/item.html?id=9b6280a6bfb0430f8d1ebc969276b109 .

When FeatureLayer 1 off, I want to turn on sublayer 3; otherwise set it back to default setting.  Here is JSFiddle:Edit fiddle - JSFiddle  but all the check box for sublayers not able to check or uncheck anymore. Layers show up correctly.  Is there possible to perform this task?  Thanks.

flon.giffloff.gif

0 Kudos
1 Solution

Accepted Solutions
KenBuja
MVP Esteemed Contributor

Your issue is that any click in the TOC is handled by the 'toc-node-checked' event. In your event, regardless of what layer you click on (whether it's a root layer or sublayer), you're always setting the visibility of dynaLayer1. You have to determine if the user is clicking on the featLayer1 layer, then set the visibility of dynaLayer1.

//try to set layer visibility based on feature layer on/off -------------

if (evt.rootLayer == featLayer1) {

  if (featLayer1.visible == false) {

    dynaLayer1.setVisibleLayers([3]);

  }

  else {

    dynaLayer1.setVisibleLayers([2, 5, 8, 11]);

  }

}

I've updated your Fiddle.

View solution in original post

0 Kudos
2 Replies
KenBuja
MVP Esteemed Contributor

Your issue is that any click in the TOC is handled by the 'toc-node-checked' event. In your event, regardless of what layer you click on (whether it's a root layer or sublayer), you're always setting the visibility of dynaLayer1. You have to determine if the user is clicking on the featLayer1 layer, then set the visibility of dynaLayer1.

//try to set layer visibility based on feature layer on/off -------------

if (evt.rootLayer == featLayer1) {

  if (featLayer1.visible == false) {

    dynaLayer1.setVisibleLayers([3]);

  }

  else {

    dynaLayer1.setVisibleLayers([2, 5, 8, 11]);

  }

}

I've updated your Fiddle.

0 Kudos
MayJeff
Deactivated User

Thank you very much.

0 Kudos