0

As an extension question that Felix Kling answered so brilliantly I now need to do a two part check on the data table deployed.

Can anyone tell me how to add to the code below to allow me not only to copy the values of the pcode fields into an array but to check if there is a check in the checkbox with a corresponding row number i.e. route2 is check then add to the array but if route3 is not checked then exclude it.

 function GetRoute() { var from = document.getElementById('inpAddr').value; var locations = [from]; for(var i = 2; i <= 400; i++) { var element = document.getElementById('pcode' + i); if(element === null) { break; } locations.push(element.innerHTML); } var options = new VERouteOptions(); options.DrawRoute = true; options.RouteColor = new VEColor(63,160,222,1); options.RouteWeight = 3; options.RouteCallback = onGotRoute; options.SetBestMapView = true; options.DistanceUnit = VERouteDistanceUnit.Mile; options.ShowDisambiguation = true; map.GetDirections(locations,options); } 

Thanks in advance!

Justin

2 Answers 2

1
for( var i = 2 ; (element = document.getElementById('pcode' + i)) && i <= 400; i++ ) { if( document.getElementById('route' + i).checked ) { locations.push( element.innerHTML ); } } 
Sign up to request clarification or add additional context in comments.

Comments

0
function GetRoute() { var from = document.getElementById('inpAddr').value; var locations = [from]; // My Modification Starts Here.... var maxLoopValue = 400; var pcode, currentRoute, nextRoute; for(var i = 2; i <= maxLoopValue; i++) { pcode = document.getElementById('pcode' + i); currentRoute = document.getElementById('route' + i); // Make sure the currentRoute is 'checked' if (currentRoute.checked) { // Make sure there is a 'next' route before trying to check it if (i < maxLoopValue) { nextRoute = document.getElementById('route' + (i+1)); // Make sure the 'next' route is 'checked' if (nextRoute.checked) { locations.push(element.innerHTML); } } else { // This is the last route, since we know it's checked, include it locations.push(element.innerHTML); } } } // My Modification Ends Here.... var options = new VERouteOptions(); options.DrawRoute = true; options.RouteColor = new VEColor(63,160,222,1); options.RouteWeight = 3; options.RouteCallback = onGotRoute; options.SetBestMapView = true; options.DistanceUnit = VERouteDistanceUnit.Mile; options.ShowDisambiguation = true; map.GetDirections(locations,options); } 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.