<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get and set checkbox visibility by JavaScript code in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/get-and-set-checkbox-visibility-by-javascript-code/m-p/459846#M42495</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We have a large number of layers in our map and every user complains about the lack of ability to save what's turned on/off.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So my task was to create some code that would store variables in local storage to remember what was checked, and then on-load setup the map for them. So I wrote some code that works from a button that reads all the layers and sublayers and gets the default visibility. However it doesn't read the current map settings. i.e. you can uncheck a layer and it still read true in this code. So how do I get the current check box setting, and how would I set it's value?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I have so far.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt; 
function getTheMapLayers() {
&amp;nbsp;&amp;nbsp; var theInfo2 = []
&amp;nbsp;&amp;nbsp; var theList2 =""
&amp;nbsp; for (var j=0, jl=map.layerIds.length; j&amp;lt;jl; j++) {

&amp;nbsp; theList2 = theList2 +"\n"+map.getLayer(map.layerIds&lt;J&gt;).id+" - Map Service, Visible = "+ map.getLayer(map.layerIds&lt;J&gt;).visible+"\n"

&amp;nbsp;&amp;nbsp;&amp;nbsp; var items2 = dojo.map(map.getLayer(map.layerIds&lt;J&gt;).layerInfos,function(info,index){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theInfo2[info.id] = ( "id: "+ info.id +" Name: "+ info.name+" Visibility: "+info.defaultVisibility);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theList2 = theList2 +"\n"+theInfo2[info.id]
&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(theList2);
&amp;nbsp; }; 
&lt;/J&gt;&lt;/J&gt;&lt;/J&gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 Jun 2014 13:37:05 GMT</pubDate>
    <dc:creator>BillChappell</dc:creator>
    <dc:date>2014-06-11T13:37:05Z</dc:date>
    <item>
      <title>Get and set checkbox visibility by JavaScript code</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/get-and-set-checkbox-visibility-by-javascript-code/m-p/459846#M42495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We have a large number of layers in our map and every user complains about the lack of ability to save what's turned on/off.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So my task was to create some code that would store variables in local storage to remember what was checked, and then on-load setup the map for them. So I wrote some code that works from a button that reads all the layers and sublayers and gets the default visibility. However it doesn't read the current map settings. i.e. you can uncheck a layer and it still read true in this code. So how do I get the current check box setting, and how would I set it's value?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I have so far.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt; 
function getTheMapLayers() {
&amp;nbsp;&amp;nbsp; var theInfo2 = []
&amp;nbsp;&amp;nbsp; var theList2 =""
&amp;nbsp; for (var j=0, jl=map.layerIds.length; j&amp;lt;jl; j++) {

&amp;nbsp; theList2 = theList2 +"\n"+map.getLayer(map.layerIds&lt;J&gt;).id+" - Map Service, Visible = "+ map.getLayer(map.layerIds&lt;J&gt;).visible+"\n"

&amp;nbsp;&amp;nbsp;&amp;nbsp; var items2 = dojo.map(map.getLayer(map.layerIds&lt;J&gt;).layerInfos,function(info,index){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theInfo2[info.id] = ( "id: "+ info.id +" Name: "+ info.name+" Visibility: "+info.defaultVisibility);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theList2 = theList2 +"\n"+theInfo2[info.id]
&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(theList2);
&amp;nbsp; }; 
&lt;/J&gt;&lt;/J&gt;&lt;/J&gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jun 2014 13:37:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/get-and-set-checkbox-visibility-by-javascript-code/m-p/459846#M42495</guid>
      <dc:creator>BillChappell</dc:creator>
      <dc:date>2014-06-11T13:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: Get and set checkbox visibility by JavaScript code</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/get-and-set-checkbox-visibility-by-javascript-code/m-p/459847#M42496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Got it working. This attached to a button, reads the checkbox values, gets names, layer id, sublayer Id, and if it's checked visible. Now on to the read/write to local storage portion. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function getTheMapLayers() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var theList2 = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerID = ""
&amp;nbsp;&amp;nbsp; var theCheck = ""

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var j = 0, jl = map.layerIds.length; j &amp;lt; jl; j++) {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theList2 = theList2 + "\n" + map.getLayer(map.layerIds&lt;J&gt;).id + " - Map Service, Visible = "+ map.getLayer(map.layerIds&lt;J&gt;).visible + "\n"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerID = map.getLayer(map.layerIds&lt;J&gt;).id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var clayer = map.getLayer(layerID);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var visArray = clayer.visibleLayers;

&amp;nbsp;&amp;nbsp;&amp;nbsp; var items2 = dojo.map(map.getLayer(map.layerIds&lt;J&gt;).layerInfos, function (info, index) {
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var infoID = parseInt(info.id);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ind = visArray.indexOf(infoID);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ind &amp;gt; -1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ind = 1;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theCheck = "On"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ind = -1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theCheck = "Off"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theList2&amp;nbsp; = theList2&amp;nbsp;&amp;nbsp; +layerID +" " + info.id + "&amp;nbsp; "+ info.name +" is "+theCheck + "\n"
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(theList2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&lt;/J&gt;&lt;/J&gt;&lt;/J&gt;&lt;/J&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:28:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/get-and-set-checkbox-visibility-by-javascript-code/m-p/459847#M42496</guid>
      <dc:creator>BillChappell</dc:creator>
      <dc:date>2021-12-11T20:28:03Z</dc:date>
    </item>
  </channel>
</rss>

