Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 320
  • 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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

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