• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 323
  • Last Modified:

For Loop in javascript not working properly

Depending on the content of the relative index in array includeit, I want to output, using innerHTML, the correct content of array titles and array links.
The script only generates one line. Each selection should generate two lines.
Maybe it is just a typo but I can't see it.
buttontest.txt
0
maryj152
Asked:
maryj152
1 Solution
 
sh0eCommented:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>testnt</title>
<!--<script type="text/javascript" src="scripts/extn.js"> -->
<script type="text/javascript">
var titles = new Array (4);
titles[0] = "Publications Plus (ACES & Extension Publications)";
titles[1] = "ITCS Instructional Materials";
titles[2] = "Extension Turfgrass Publications   ";
titles[3] = "Illinois Steward  ";
 
var links = new Array(4);
links[0] = "https://pubsplus.uiuc.edu/";
links[1] = "http://im.itcs.uiuc.edu/";
links[2] = "http://www.turf.uiuc.edu/extension/extension.html";
links[3] = "http://web.extension.uiuc.edu/illinoissteward/";
 
var includeit = new Array(4);
includeit[0] = "yes";
includeit[1] = "yes";
includeit[2] = "no";
includeit[3] = "no";
 
function showpubs(incl)
	{var ncl = incl;
    document.getElementById("pubs").innerHTML="";
	for(i = 0; i< includeit.length; i++)
		{  if(includeit[i] == ncl)
		 {document.getElementById("pubs").innerHTML+="<a href="+links[i]+"><h3 class=blu>"+titles[i]+"</h3></a>"
			}
		}
	}
 
 
</script>
<style type="text/css">
.blu{color:blue;}
</style>
</head>
 
<body>
<div id="pubs">Content for id "pubs" Goes Here
  <input name="button" type="button" onclick="showpubs('yes')" value="yes" /><br />
<br />
<input name="button" type="button" onclick="showpubs('no')" value="no" />
</div>
</body>
</html>

Open in new window

0
 
OBonioCommented:
In case you can't see your error, you want to use += when appending to innerHTML instead of just assigning the text with =.  = overwrites what is there already.
0
 
maryj152Author Commented:
Thank you for your prompt response
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now