开发者

getElementById Another Question

开发者 https://www.devze.com 2023-02-04 17:04 出处:网络
As an extension question that Felix Kling answered so brilliantly I now need to do a two part check on the data table deployed.

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 = 开发者_如何学Pythondocument.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


for( var i = 2 ; (element = document.getElementById('pcode' + i)) && i <= 400; i++ )
{ 
  if( document.getElementById('route' + i).checked )
  {
      locations.push( element.innerHTML ); 
  }
}


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); 
} 
0

精彩评论

暂无评论...
验证码 换一张
取 消