<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Random Snippets &#187; javascript code</title>
	<atom:link href="http://www.randomsnippets.com/tag/javascript-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.randomsnippets.com</link>
	<description>Random Snippets of Code and Ideas for any Web Developer</description>
	<lastBuildDate>Wed, 05 Aug 2009 14:32:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to loop through checkboxes or radio button groups via JavaScript</title>
		<link>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/</link>
		<comments>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/#comments</comments>
		<pubDate>Fri, 16 May 2008 05:00:18 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[checkboxes]]></category>
		<category><![CDATA[dom object]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[javascript function]]></category>
		<category><![CDATA[loop through]]></category>
		<category><![CDATA[radio button groups]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=17</guid>
		<description><![CDATA[
function loopForm(form) {
    var cbResults = 'Checkboxes: ';
    var radioResults = 'Radio buttons: ';
    for (var i = 0; i < form.elements.length; i++ ) {
        if (form.elements[i].type == 'checkbox') {
          [...]]]></description>
			<content:encoded><![CDATA[<p><script lang="javascript">
function loopForm(form) {
    var cbResults = 'Checkboxes: ';
    var radioResults = 'Radio buttons: ';
    for (var i = 0; i < form.elements.length; i++ ) {
        if (form.elements[i].type == 'checkbox') {
            if (form.elements[i].checked == true) {
                cbResults += form.elements[i].value + ' ';
            }
        }
        if (form.elements[i].type == 'radio') {
            if (form.elements[i].checked == true) {
                radioResults += form.elements[i].value + ' ';
            }
        }
    }
    document.getElementById("cbResults").innerHTML = cbResults;
    document.getElementById("radioResults").innerHTML = radioResults;
}
</script><br />
Do you have a form with checkboxes or radio buttons that you would like to loop through via JavaScript?  This JavaScript function will do just that!</p>
<fieldset>
<legend>Demo</legend>
<form name="thisForm">
I like to program in:<br />
<input type="checkbox" value="PHP" CHECKED>PHP<br />
<input type="checkbox" value="Perl">Perl<br />
<input type="checkbox" value="Ruby">Ruby<br />
<input type="checkbox" value="ASP">ASP<br />
<hr />
I like to eat:<br />
<input type="radio" value="Snickers" name="candy" CHECKED>Snickers<br />
<input type="radio" value="Hershey's" name="candy">Hershey's<br />
<input type="radio" value="M&#038;M's" name="candy">M&#038;M's<br />
<input type="radio" value="Nerds" name="candy">Nerds<br />
<hr />
I like to drink:<br />
<input type="radio" value="Coke" name="drink" CHECKED>Coke<br />
<input type="radio" value="Gatorade" name="drink">Gatorade<br />
<input type="radio" value="Pepsi" name="drink">Pepsi<br />
<input type="radio" value="Milk" name="drink">Milk
<p>
</p>
<input type="button" value="Submit" onclick="loopForm(document.thisForm);">
</form>
<p><div id="cbResults"></div>
<div id="radioResults"></div>
</fieldset>
<p><span id="more-17"></span><br />
Here is the plain HTML:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form name=&quot;thisForm&quot;&gt;
I like to program in:&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;PHP&quot; CHECKED&gt;PHP&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;Perl&quot;&gt;Perl&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;Ruby&quot;&gt;Ruby&lt;p&gt;
&lt;input type=&quot;checkbox&quot; value=&quot;ASP&quot;&gt;ASP&lt;p&gt;
&lt;hr&gt;
I like to eat:&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Snickers&quot; name=&quot;candy&quot; CHECKED&gt;Snickers&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Hershey's&quot; name=&quot;candy&quot;&gt;Hershey's&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;M&amp;M's&quot; name=&quot;candy&quot;&gt;M&amp;M's&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Nerds&quot; name=&quot;candy&quot;&gt;Nerds&lt;p&gt;
&lt;hr&gt;
I like to drink:&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Coke&quot; name=&quot;drink&quot; CHECKED&gt;Coke&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Gatorade&quot; name=&quot;drink&quot;&gt;Gatorade&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Pepsi&quot; name=&quot;drink&quot;&gt;Pepsi&lt;p&gt;
&lt;input type=&quot;radio&quot; value=&quot;Milk&quot; name=&quot;drink&quot;&gt;Milk&lt;p&gt;
&lt;br&gt;
&lt;input type=&quot;button&quot; value=&quot;Submit&quot; onclick=&quot;loopForm(document.thisForm);&quot;&gt; 
&lt;/form&gt;
&lt;p&gt;
&lt;div id=&quot;cbResults&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;radioResults&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>As usual, there is not too much action going on here.  It is just a plain form with some checkboxes and 2 radio button groups called <b>candy</b> and <b>drink</b>.  Radio buttons with the same name will be grouped and allows the users to only select one option out of the entire group.  The submit button will launch the <b>loopForm</b> JavaScript function and the <b>myForm</b> DOM object is passed over as an argument.  There are also 2 divs in lines 23-24 where are checkbox and radio button results will be posted.  Now, on to more exciting things.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> loopForm<span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> cbResults <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Checkboxes: '</span>;
    <span style="color: #003366; font-weight: bold;">var</span> radioResults <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Radio buttons: '</span>;
    <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> 0; i <span style="color: #339933;">&lt;</span> form.<span style="color: #660066;">elements</span>.<span style="color: #660066;">length</span>; i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'checkbox'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">checked</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                cbResults <span style="color: #339933;">+=</span> form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' '</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">type</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'radio'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">checked</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                radioResults <span style="color: #339933;">+=</span> form.<span style="color: #660066;">elements</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' '</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;cbResults&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> cbResults;
    document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;radioResults&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> radioResults;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This function loops through all the elements in the form that was passed over to the function.  </p>
<p>If the element is of <b>checkbox</b> type and it is checked, the value of this element will be appended to our <b>cbResults</b> variable which is keeping track of our checkbox results.</p>
<p>If the element is of <b>radio</b> type and it is checked, the value of this element will be appended to our <b>radioResults</b> variable which is keeping track of our radio button results.</p>
<p>After all the looping is finished, the results are <b>cbResults</b> and <b>radioResults</b> are inserted into the <b>cbResults div</b> and <b>radioResults div</b> respectively.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How to create your own customized calculator via JavaScript</title>
		<link>http://www.randomsnippets.com/2008/04/26/how-to-create-your-own-customized-calculator-via-javascript/</link>
		<comments>http://www.randomsnippets.com/2008/04/26/how-to-create-your-own-customized-calculator-via-javascript/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 01:01:51 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[addition and subtraction]]></category>
		<category><![CDATA[calculator]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[input buttons]]></category>
		<category><![CDATA[input object]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[multiplication]]></category>
		<category><![CDATA[onclick event]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=15</guid>
		<description><![CDATA[
function calculate(equation) {
     var answer = eval(equation);
     document.getElementById('screen').value = answer;
}
function pushButton(buttonValue) {
     if (buttonValue == 'C') {
          document.getElementById('screen').value = '';
     }
     else {
    [...]]]></description>
			<content:encoded><![CDATA[<p><script lang="javascript">
function calculate(equation) {
     var answer = eval(equation);
     document.getElementById('screen').value = answer;
}
function pushButton(buttonValue) {
     if (buttonValue == 'C') {
          document.getElementById('screen').value = '';
     }
     else {
          document.getElementById('screen').value += buttonValue;
     }
}
</script></p>
<style type="text/css">
table.calc {
     border: 2px solid #0034D1;
     background-color: #809FFF;
}
input.calc {
     width: 100%;
     margin: 5px;
}
tr.calc {
     border: 0px;
}
</style>
<p>This is a simple example of implementing a calculator with JavaScript and HTML.  This calculator will only have the division, multiplication, addition, and subtraction operators but you can easily tack on more functions if needed.</p>
<fieldset>
<legend>Demo</legend>
<table class="calc" cellpadding=4>
<tr class="calc">
<td colspan=3>
<input class="calc" id="screen" type="text"></td>
</tr>
<tr class="calc">
<td>
<input class="calc" type="button" value=1 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=2 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=3 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='/' onclick="pushButton(this.value);"></td>
</tr>
<tr>
<td>
<input class="calc" type="button" value=4 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=5 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=6 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='*' onclick="pushButton(this.value);"></td>
</tr>
<tr>
<td>
<input class="calc" type="button" value=7 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=8 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value=9 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='-' onclick="pushButton(this.value);"></td>
</tr>
<tr>
<td>
<input class="calc" type="button" value=0 onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='.' onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='C' onclick="pushButton(this.value);"></td>
<td>
<input class="calc" type="button" value='+' onclick="pushButton(this.value);"></td>
</tr>
<tr>
<td colspan=3>
<input class="calc" type="button" value='=' onclick="calculate(document.getElementById('screen').value);"></td>
</tr>
</table>
</fieldset>
<p><span id="more-15"></span><br />
Here is the html code including the CSS stuff:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;style type=&quot;text/css&quot;&gt;
table.calc {
     border: 2px solid #0034D1;
     background-color: #809FFF;
}
input.calc {
     width: 100%;
     margin: 5px;
}
&lt;/style&gt;
&lt;fieldset&gt;
&lt;legend&gt;Demo&lt;/legend&gt;
&lt;table class=&quot;calc&quot; cellpadding=4&gt;
&lt;tr&gt;&lt;td colspan=3&gt;&lt;input class=&quot;calc&quot; id=&quot;screen&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=1 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=2 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=3 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='/' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=4 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=5 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=6 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='*' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=7 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=8 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=9 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='-' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value=0 onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='.' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='C' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;td&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='+' onclick=&quot;pushButton(this.value);&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=3&gt;&lt;input class=&quot;calc&quot; type=&quot;button&quot; value='=' onclick=&quot;calculate(document.getElementById('screen').value);&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>Most of the HTML is coding for all the input buttons and their associated <b>onclick</b> event handlers.  All the buttons, except for the <b>=</b> button, will call the <b>pushButton</b> JavaScript when clicked and passes it&#8217;s associated value.  The <b>=</b> button calls the <b>calculate</b> JavaScript function and passes the value that is in the text input which represents the string of numbers and operators that were pushed.  The rest of the HTML is just icing on the cake so that it actually looks like a calculator.</p>
<p>Here is the JavaScript code for the 2 functions:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> pushButton<span style="color: #009900;">&#40;</span>buttonValue<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>buttonValue <span style="color: #339933;">==</span> <span style="color: #3366CC;">'C'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'screen'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span>;
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
          document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'screen'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">+=</span> buttonValue;
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">function</span> calculate<span style="color: #009900;">&#40;</span>equation<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #003366; font-weight: bold;">var</span> answer <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">eval</span><span style="color: #009900;">&#40;</span>equation<span style="color: #009900;">&#41;</span>;
     document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'screen'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> answer;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The <b>pushButton</b> function does 2 things for us.  If the user clicks on the <b>C</b> button or the clear button, it accesses the text input object, which represents our calculator screen, via the DOM .  Once it is accessed, the value inside the text input is set to &#8221; (2 single quotes) which is an empty string.  This will basically remove whatever string is already inside the text input.  If the user clicks on any other button, the function will access the text input object and append the value that was passed over to whatever is already in our text input.  This allows us to build our string with numbers and operators.</p>
<p>The <b>calculate</b> function does exactly what it&#8217;s name suggests.  It takes our string of numbers and operators and evaluates it in line 10.  The <b>eval()</b> function treats the string as if it were JavaScript code and executes it and returns the results.  The function will then access the text input object and replace whatever the current value is with the answer from the <b>eval()</b> function.</p>
<p>That&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/04/26/how-to-create-your-own-customized-calculator-via-javascript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How to dynamically add content to a div and store the content to a cookie via JavaScript</title>
		<link>http://www.randomsnippets.com/2008/04/14/how-to-dynamically-add-content-to-a-div-via-javascript/</link>
		<comments>http://www.randomsnippets.com/2008/04/14/how-to-dynamically-add-content-to-a-div-via-javascript/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 06:45:17 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[cookieContent]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[demo content]]></category>
		<category><![CDATA[div id]]></category>
		<category><![CDATA[document cookie]]></category>
		<category><![CDATA[document getelementbyid]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[dynamic content]]></category>
		<category><![CDATA[Dynamically]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[getCookie]]></category>
		<category><![CDATA[getElementById]]></category>
		<category><![CDATA[input text]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[javascript function]]></category>
		<category><![CDATA[javascript functions]]></category>
		<category><![CDATA[onClick]]></category>
		<category><![CDATA[setCookie]]></category>
		<category><![CDATA[store content]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=14</guid>
		<description><![CDATA[
function addContent(divName, content) {
     document.getElementById(divName).innerHTML = content;
}
function setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name) {
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
     [...]]]></description>
			<content:encoded><![CDATA[<p><script lang="javascript">
function addContent(divName, content) {
     document.getElementById(divName).innerHTML = content;
}
function setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name) {
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            var cookieContent = "Welcome back " + unescape(document.cookie.substring(c_start,c_end));
            document.getElementById('myDiv2').innerHTML = cookieContent;
        } 
    }
}
</script><br />
This is an example of adding dynamic content via JavaScript by allowing the user type in the actual content.</p>
<fieldset>
<legend>Demo</legend>
<form name="myForm">
Content to be added:<br />
<textarea name="myContent">Type here&#8230;<br />
<h1>tags work as well</h1>
<p><u>woohoo</u></textarea></p>
<input type="button" value="Add content" onClick="addContent('myDiv', document.myForm.myContent.value)">
</form>
<p>Your content will be added dynamically below:</p>
<div id="myDiv"></div>
</fieldset>
<p><span id="more-14"></span><br />
Here is the plain HTML for the demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form name=&quot;myForm&quot;&gt;
Content to be added:
&lt;textarea name=&quot;myContent&quot;&gt;Type here...&lt;h1&gt;tags work as well&lt;/h1&gt;&lt;u&gt;woohoo&lt;/u&gt;&lt;/textarea&gt;
&lt;input type=&quot;button&quot; value=&quot;Add content&quot; onClick=&quot;addContent('myDiv', document.myForm.myContent.value); setCookie('content', document.myForm.myContent.value, 7);&quot;&gt;
&lt;/form&gt;
&lt;br&gt;&lt;br&gt;
Your content will be added dynamically below:
&lt;div id=&quot;myDiv&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>There are 3 important parts to the HTML code:</p>
<ol>
<li><b>textarea</b> &#8211; This is the content that the user enters.  HTML tags are naturally supported.</li>
<li><b>Add content button</b> &#8211;  This buttons calls our <b>addContent()</b> function which passes the div id of where the content is to be entered and the actual content itself from the <b>textarea</b>.</li>
<li><b>myDiv</b> &#8211; This is the id of blank div where the content will be inserted.</li>
</ol>
<p>Here is the JavaScript code for the <b>addContent()</b> function:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> addContent<span style="color: #009900;">&#40;</span>divName<span style="color: #339933;">,</span> content<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>divName<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> content;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>That&#8217;s it!  All it does it retrieve the DOM element, which in this case, is just an empty div and sets the <b>innerHTML</b> attribute to the content that is passed over to this function from the form.  </p>
<p>This demo is in response to a request that saves the content that the user has entered.</p>
<fieldset>
<legend>Demo</legend>
<form name="myForm2">
Enter your name below and click the button.  Your name will be saved to a cookie that expires in 7 days.  When you refresh the page or come back to visit you will see a heartwarming message welcoming you back.</p>
<input text name="myContent2" value="Enter your name here...">
<input type="button" value="Save my name" onClick="addContent('myDiv2', document.myForm2.myContent2.value); setCookie('content', document.myForm2.myContent2.value, 7);">
</form>
<p>Your name will be saved below:</p>
<div id="myDiv2" style="font-weight: bold;"></div>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form name=&quot;myForm2&quot;&gt;
Enter your name below and click the button.  Your name will be saved to a cookie that expires in 7 days.  When you refresh the page or come back to visit you will see a heartwarming message welcoming you back.
&lt;br&gt;&lt;br&gt;
&lt;input text name=&quot;myContent2&quot; value=&quot;Enter your name here...&quot;&gt;
&lt;input type=&quot;button&quot; value=&quot;Save my name&quot; onClick=&quot;addContent('myDiv2', document.myForm2.myContent2.value); setCookie('content', document.myForm2.myContent2.value, 7);&quot;&gt;
&lt;/form&gt;
&lt;br&gt;&lt;br&gt;
Your name will be saved below:
&lt;div id=&quot;myDiv2&quot; style=&quot;font-weight: bold;&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>The <b>onClick</b> event listener will launch 2 scripts this time:</p>
<ol>
<li><b>addContent</b> &#8211; This will do exactly what it did before in the first demo and just insert the input text value inside the div.</li>
<li><b>setCookie</b> &#8211; This will save a cookie with the name <b>content</b> and assign whatever is inside the input text as the value.  In addition, the cookie is set to expire in 7 days.</li>
</ol>
<p>To avoid reinventing the wheel, I have borrowed the JavaScript get and set cookie functions from <a href="http://www.w3schools.com/JS/js_cookies.asp" target="_blank">W3 Schools</a> and edited it slightly for the needs of this demo.</p>
<p>Here are the new JavaScript functions for cookie management:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> setCookie<span style="color: #009900;">&#40;</span>c_name<span style="color: #339933;">,</span>value<span style="color: #339933;">,</span>expiredays<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> exdate<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
    exdate.<span style="color: #660066;">setDate</span><span style="color: #009900;">&#40;</span>exdate.<span style="color: #660066;">getDate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>expiredays<span style="color: #009900;">&#41;</span>;
    document.<span style="color: #660066;">cookie</span><span style="color: #339933;">=</span>c_name<span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;=&quot;</span> <span style="color: #339933;">+</span>escape<span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>expiredays<span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;;expires=&quot;</span><span style="color: #339933;">+</span>exdate.<span style="color: #660066;">toGMTString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">function</span> getCookie<span style="color: #009900;">&#40;</span>c_name<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">length</span><span style="color: #339933;">&gt;</span>0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        c_start<span style="color: #339933;">=</span>document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>c_name <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;=&quot;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c_start<span style="color: #339933;">!=-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
            c_start<span style="color: #339933;">=</span>c_start <span style="color: #339933;">+</span> c_name.<span style="color: #660066;">length</span><span style="color: #339933;">+</span><span style="color: #CC0000;">1</span>; 
            c_end<span style="color: #339933;">=</span>document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;;&quot;</span><span style="color: #339933;">,</span>c_start<span style="color: #009900;">&#41;</span>;
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>c_end<span style="color: #339933;">==-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> c_end<span style="color: #339933;">=</span>document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">length</span>;
            <span style="color: #003366; font-weight: bold;">var</span> cookieContent <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Welcome back &quot;</span> <span style="color: #339933;">+</span> unescape<span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>c_start<span style="color: #339933;">,</span>c_end<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
            document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myDiv2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> cookieContent;
        <span style="color: #009900;">&#125;</span> 
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
getCookie<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'content'</span><span style="color: #009900;">&#41;</span>;</pre></td></tr></table></div>

<p>Please refer to <a href="http://www.w3schools.com/JS/js_cookies.asp" target="_blank">W3 Schools</a> for a detailed description of these JavaScript functions.  The only edit I have made is with the <b>getCookie</b> function in lines 13-14 where it retrieves the cookie value and inserts the content into a div.  Also, line 18 is very important as it calls the <b>getCookie</b> function and looks for the <b>content</b> cookie.  If the cookie exists, the content will be displayed in the <b>myDiv2</b> div.  </p>
<p>When using these JavaScripts, <b> make sure you load them after all your HTML is loaded</b>.  Otherwise, the function would have no place to insert the cookie content.</p>
<p>Although using cookies is a great way to store information, there are a couple of caveats:</p>
<ol>
<li><b>Size limitation</b> &#8211; This depends on the browser but keeping your cookies to a maximum size of 4000 bytes will keep you in the safe zone.</li>
<li><b>Cookie limit per domain</b> &#8211; This also depends on the browser but the general rule is 20 cookies per domain.</li>
</ol>
<p><script lang="javascript">getCookie('content');</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/04/14/how-to-dynamically-add-content-to-a-div-via-javascript/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How to hide, show, or toggle your div</title>
		<link>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/</link>
		<comments>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 06:45:00 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[collapse]]></category>
		<category><![CDATA[demo show]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[Hide]]></category>
		<category><![CDATA[html javascript]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[javascript function]]></category>
		<category><![CDATA[javascript functions]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/</guid>
		<description><![CDATA[Are you trying to find a way to hide and show your content?  The demo below shows a simple yet elegant way of toggling your content and toggling the control text via Javascript and styling.
 
function toggle() {
	var ele = document.getElementById("toggleText");
	var text = document.getElementById("displayText");
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = [...]]]></description>
			<content:encoded><![CDATA[<p>Are you trying to find a way to hide and show your content?  The demo below shows a simple yet elegant way of toggling your content and toggling the control text via Javascript and styling.</p>
<p><script language="javascript"> 
function toggle() {
	var ele = document.getElementById("toggleText");
	var text = document.getElementById("displayText");
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = "show";
  	}
	else {
		ele.style.display = "block";
		text.innerHTML = "hide";
	}
} 
function toggle2(showHideDiv, switchTextDiv) {
	var ele = document.getElementById(showHideDiv);
	var text = document.getElementById(switchTextDiv);
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = "restore";
  	}
	else {
		ele.style.display = "block";
		text.innerHTML = "collapse";
	}
} 
function toggle3(contentDiv, controlDiv) {
        if (contentDiv.constructor == Array) {
                for(i=0; i < contentDiv.length; i++) {
                     toggle2(contentDiv[i], controlDiv[i]);
                }
        }
        else {
               toggle2(contentDiv, controlDiv);
        }
} 
var counter = 0;
var numBoxes = 3;
function toggle4(showHideDiv) {
	var ele = document.getElementById(showHideDiv + counter);
	if(ele.style.display == "block") {
    		ele.style.display = "none";
  	}
	else {
		ele.style.display = "block";
       }
       if(counter == numBoxes) {
                document.getElementById("toggleButton").style.display = "none";
       }
} 
function showonlyone(thechosenone) {
      var newboxes = document.getElementsByTagName("div");
            for(var x=0; x<newboxes.length; x++) {
                  name = newboxes[x].getAttribute("name");
                  if (name == 'newboxes') {
                        if (newboxes[x].id == thechosenone) {
                        newboxes[x].style.display = 'block';
                  }
                  else {
                        newboxes[x].style.display = 'none';
                  }
            }
      }
}
</script></p>
<style type="text/css">
#headerDivImg, #contentDivImg, #contentDivImg_ {
     float: left;
     width: 510px;
}
#titleTextImg {
     float: left;
     font-size: 1.2em;
     font-weight: bold;
     margin: 5px 10px;
}
#headerDivImg {
     background-color: #0037DB;
     color: #9EB6FF;
}
#contentDivImg, #contentDivImg_ {
     background-color: #FFE694;
}
#headerDivImg img {
     float: right;
     margin: 10px 10px 5px 5px;
}
</style>
<p><script src="/wp-includes/js/showhidediv.js" language="Javascript" type="text/javascript"></script></p>
<fieldset>
<legend>Demo</legend>
<div id="headerDivImg">
<div id="titleTextImg">Let's use images!  click image to expand/collapse div ==></div>
<p>    <a id="imageDivLink" href="javascript:toggle5('contentDivImg', 'imageDivLink');"><img src="/wp-includes/images/minus.png"></a>
</div>
<div id="contentDivImg" style="display: block;">This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript.</div>
</fieldset>
<fieldset>
<legend>Demo</legend>
<p><a id="displayText" href="javascript:toggle();" >show</a> <== click here</p>
<div id="toggleText" style="display:none">
<h1>peek-a-boo</h1>
</div>
</fieldset>
<p><span id="more-5"></span></p>
<p>Here is the sample HTML and Javascript code:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #003366; font-weight: bold;">function</span> toggle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;toggleText&quot;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;displayText&quot;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;show&quot;</span>;
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;hide&quot;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
&lt;a id=&quot;displayText&quot; href=&quot;javascript:toggle();&quot;&gt;show&lt;/a&gt; &lt;== click Here
&lt;div id=&quot;toggleText&quot; style=&quot;display: none&quot;&gt;&lt;h1&gt;peek-a-boo&lt;/h1&gt;&lt;/div&gt;</pre></div></div>

<p>By default, the <code>peek-a-boo</code> text is loaded when the page loads but the <code>display</code> attribute for the div that the content resides in is set to <code>none</code> so it is not visible to the visitor.  When the link is clicked, the <code>toggle()</code> JavaScript functions executes and checks the value of the display style for the div that contains the content that we want to toggle.</p>
<ul>
<li><b>If the display style is <code>none</code></b>, the function will:</li>
<ul>
<li>Set the display style to <code>block</code> - This is executed in the <code>else</code> block of the function.  The inner HTML content of a DOM element with a <code>block</code> display setting will be visible unless it is furthered controlled by CSS styling.</li>
<li>Change the link text to <code>hide</code> - The inner HTML of the link text, which in this case is just <code>show</code>, is replaced with the <code>hide</code> text.</li>
</ul>
<li><b>If the display style is <code>block</code>, the function will:</b></li>
<ul>
<li>Set the display style to <code>none</code> - This is executed in the <code>if</code> block of the function.  The inner HTML content of a DOM element with the <code>none</code> display setting will not be visible for the viewer.</li>
<li>Change the link text to <code>show</code> - The inner HTML of the link text, which in this case is just <code>hide</code>, is replaced with the <code>show</code> text.</li>
</ul>
</ul>
<p>Here is a more reusable and flexible <code>toggle</code> function that takes 2 parameters: one for the div to hide/show and a second parameter for the div that contains the link text to be switched.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #003366; font-weight: bold;">function</span> toggle<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchTextDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span>;
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchTextDiv<span style="color: #009900;">&#41;</span>;
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;show&quot;</span>;
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;hide&quot;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<style type="text/css">
#headerDiv, #contentDiv {
     float: left;
     width: 510px;
}
#titleText {
     float: left;
     font-size: 1.2em;
     font-weight: bold;
     margin: 5px 10px;
}
#headerDiv {
     background-color: #0037DB;
     color: #9EB6FF;
}
#contentDiv {
     background-color: #FFE694;
}
#myContent {
     margin: 5px 10px;
}
#headerDiv a {
     float: right;
     margin: 10px 10px 5px 5px;
}
#headerDiv a:hover {
     color: #FFFFFF;
}
</style>
<p>If you spice up this demo with some extra CSS styling, this can look like a nice little dialog box.</p>
<fieldset>
<legend>Demo</legend>
<div id="headerDiv">
<div id="titleText">Random Snippets Hide/Show Div Demo - Click here ==></div>
<p><a id="myHeader" href="javascript:toggle2('myContent','myHeader');" >collapse</a>
   </div>
<div style="clear:both;"></div>
<div id="contentDiv">
<div id="myContent" style="display: block;">
<p>This example demonstrates how CSS styling can make this look like a window that you can <b>collapse</b> and <b>restore</b>.  How cool is that?!</p>
<p>Here is what the CSS styling looks like:</p>
<p><code><br />
#headerDiv, #contentDiv {<br />
     float: left;<br />
     width: 510px;<br />
}<br />
#titleText {<br />
     float: left;<br />
     font-size: 1.2em;<br />
     font-weight: bold;<br />
     margin: 5px 10px;<br />
}<br />
#headerDiv {<br />
     background-color: #0037DB;<br />
     color: #9EB6FF;<br />
}<br />
#contentDiv {<br />
     background-color: #FFE694;<br />
}<br />
#myContent {<br />
     margin: 5px 10px;<br />
}<br />
#headerDiv a {<br />
     float: right;<br />
     margin: 10px 10px 5px 5px;<br />
}<br />
#headerDiv a:hover {<br />
     color: #FFFFFF;<br />
}<br />
</code></p>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;headerDiv&quot;&gt;
     &lt;div id=&quot;titleText&quot;&gt;Random Snippets Hide/Show Div Demo - Click here ==&gt;&lt;/div&gt;&lt;a id=&quot;myHeader&quot; href=&quot;javascript:toggle2('myContent','myHeader');&quot; &gt;collapse&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;contentDiv&quot;&gt;
     &lt;div id=&quot;myContent&quot; style=&quot;display: block;&quot;&gt;This is the content that is dynamically being collapsed.&lt;/div&gt;
&lt;/div&gt;</pre></div></div>

<p>That's all there is to it! =)
</p></div>
</p></div>
</fieldset>
<p>Here is the <strong>toogle2</strong> JavaScript function:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle2<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchTextDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span>;
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchTextDiv<span style="color: #009900;">&#41;</span>;
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;restore&quot;</span>;
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span>;
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;collapse&quot;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>As requested, here is an example of a JavaScript function that toggles multiple elements simultaneously.  You can either toggle each DIV individually or use the button to toggle all 3 regardless of which toggle mode they are in.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader1" href="javascript:toggle2('myContent1','myHeader1');" >collapse</a>
         </div>
<div id="myContent1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader2" href="javascript:toggle2('myContent2','myHeader2');" >collapse</a>
         </div>
<div id="myContent2" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #2</div
      </td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader3" href="javascript:toggle2('myContent3', 'myHeader3');" >collapse</a>
         </div>
<div id="myContent3" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #3</div
      </td>
</tr>
</table>
<input type="button" value="Press me to toggle all 3 DIVs" onClick="toggle3(['myContent1', 'myContent2', 'myContent3'], ['myHeader1', 'myHeader2', 'myHeader3']);">
</fieldset>
<p>This demo uses the <b>toggle2</b> function as previously demonstrated and a new function called <b>toggle3</b>.  I apologize for not being very creative on the function names.  Anyway, here is the JavaScript code for <b>toggle3</b>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle3<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>contentDiv.<span style="color: #660066;">constructor</span> <span style="color: #339933;">==</span> Array<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span>0; i <span style="color: #339933;">&lt;</span> contentDiv.<span style="color: #660066;">length</span>; i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                     toggle2<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
               toggle2<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#41;</span>;
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Line 2 of the function checks to see if the first argument is an array or not.  If it is an array, it will also assume that the second argument is an array as well.  If it is an array, the script will loop through each element and execute <b>toggle2</b> with each pair of elements in the arrays.  Please note that this function also assumes that both arrays are in the same order such that <b>contentDiv[3]</b> and <b>controlDiv[3]</b> are a pair that refer to the same toggle element. </p>
<p>If the first argument is not an array, we will just pass the arguments as is to <b>toggle2</b>.</p>
<p>Here is the HTML code for the demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:toggle2('myContent1','myHeader1');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:toggle2('myContent2','myHeader2');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #2&lt;/div
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:toggle2('myContent3', 'myHeader3');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #3&lt;/div
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
&lt;input type=&quot;button&quot; value=&quot;Press me to toggle all 3 DIVs&quot; onClick=&quot;toggle3(['myContent1', 'myContent2', 'myContent3'], ['myHeader1', 'myHeader2', 'myHeader3']);&quot;&gt;</pre></td></tr></table></div>

<p>All the excitement is jammed into line 23 where we call the <b>toggle3</b> function and pass over 2 arrays: one array containing all the content div ids and another array containing the header div ids.  The rest is history =)</p>
<p>This demo was written in response to a request.  We start off with some hidden divs and each click of the button will reveal one div at a time.  When we have revealed all the divs, the button will disappear.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div id="box1" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">First</div>
</td>
<td>
<div id="box2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Second</div
      </td>
<td>
<div id="box3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Third</div
      </td>
</tr>
</table>
<input id="toggleButton" type="button" value="Show me the money!" onclick="counter++; toggle4('box');">
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div id=&quot;box1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;First&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div id=&quot;box2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Second&lt;/div
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div id=&quot;box3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Third&lt;/div
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
&lt;input id=&quot;toggleButton&quot; type=&quot;button&quot; value=&quot;Show me the money!&quot; onclick=&quot;counter++; toggle4('box');&quot;&gt;</pre></td></tr></table></div>

<p>The HTML code contains 3 hidden divs to start off with.  The button will launch the <b>toggle4</b> JavaScript function and pass over the prefix of the div IDs.  Each div id is named with the prefix <b>box</b> and a number following the name.  For example, <b>box1</b>, <b>box2</b>, and <b>box3</b>.  This is important for our JavaScript function.  In addition, it increments the <b>counter</b> by 1 each time.  This variable is initialized in our function.  </p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> counter <span style="color: #339933;">=</span> 0;
<span style="color: #003366; font-weight: bold;">var</span> numBoxes <span style="color: #339933;">=</span> <span style="color: #CC0000;">3</span>;
<span style="color: #003366; font-weight: bold;">function</span> toggle4<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv <span style="color: #339933;">+</span> counter<span style="color: #009900;">&#41;</span>;
       <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
       <span style="color: #009900;">&#125;</span>
       <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
              ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span>;
       <span style="color: #009900;">&#125;</span>
       <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>counter <span style="color: #339933;">==</span> numBoxes<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;toggleButton&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
       <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Lines 1 and 2 will initialize two very important variables for us:</p>
<ol>
<li><b>counter</b> - This variable will help us determine which box we will need to toggle.</li>
<li><b>numBoxes</b> - This variable represents the total number of boxes.  This is important for us to know when we should hide the button.</li>
</ol>
<p>Line 4 accesses the div we will need to toggle based on the name that is passed over as the argument and the counter.  When these 2 values are concatenated, we get the name of the div we will need to toggle.  </p>
<p>Lines 5-10 tells the same old story as before for toggling the content.</p>
<p>Lines 11-13 tests to see if we have reached our maximum number of divs to toggle.  If so, it will access the toggle button and set the <b>display</b> attribute to <b>none</b>.</p>
<p>By popular demand, here is a demo that uses <b>images</b> instead of the Expand/Collapse text.</p>
<fieldset>
<legend>Demo</legend>
<div id="headerDivImg">
<div id="titleTextImg">Let's use images!</div>
<p>    <a id="imageDivLink_" href="javascript:toggle5('contentDivImg_', 'imageDivLink_');"><img src="/wp-includes/images/minus.png"></a>
</div>
<div id="contentDivImg_" style="display: block;">This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript.</div>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;headerDivImg&quot;&gt;
    &lt;div id=&quot;titleTextImg&quot;&gt;Let's use images!&lt;/div&gt;
    &lt;a id=&quot;imageDivLink&quot; href=&quot;javascript:toggle5('contentDivImg', 'imageDivLink');&quot;&gt;&lt;img src=&quot;/wp-includes/images/minus.png&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div id=&quot;contentDivImg&quot; style=&quot;display: block;&quot;&gt;This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript.&lt;/div&gt;</pre></td></tr></table></div>

<p>Everything is pretty much the same as before except the image tag is used instead of the Expand/Collapse text.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle5<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchImgTag<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span>;
        <span style="color: #003366; font-weight: bold;">var</span> imageEle <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchImgTag<span style="color: #009900;">&#41;</span>;
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span>;
		imageEle.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;img src=&quot;/wp-includes/images/plus.png&quot;&gt;'</span>;
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span>;
                imageEle.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;img src=&quot;/wp-includes/images/minus.png&quot;&gt;'</span>;
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The <b>toggle5</b> JavaScript function is pretty much the same as the rest of the toggle functions except that it switches the <b>img</b> tags instead of text.</p>
<p>Here is a new demo in response to a request where only one div is displayed at any one time.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader1" href="javascript:showonlyone('newboxes1');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader2" href="javascript:showonlyone('newboxes2');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #2</div
      </td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader3" href="javascript:showonlyone('newboxes3');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #3</div
      </td>
</tr>
</table>
</fieldset>
<p>Here is the plain HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:showonlyone('newboxes1');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:showonlyone('newboxes2');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #2&lt;/div
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:showonlyone('newboxes3');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #3&lt;/div
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>Clicking on the links will execute the <b>showonlyone</b> JavaScript function and pass on the name of the div id.</p>
<p>Here is the <b>showonlyone</b> JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> showonlyone<span style="color: #009900;">&#40;</span>thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">var</span> newboxes <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> x<span style="color: #339933;">=</span>0; x<span style="color: #339933;">&lt;</span>newboxes.<span style="color: #660066;">length</span>; x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #000066;">name</span> <span style="color: #339933;">=</span> newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span>;
                  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'newboxes'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">id</span> <span style="color: #339933;">==</span> thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'block'</span>;
                  <span style="color: #009900;">&#125;</span>
                  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                        newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span>;
                  <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Thanks to Justin and Ulysses for helping out with the IE6 bug that was there =)</p>
<p>Line 2 will find all our divs with the <b>newboxes</b> name attribute and place them in an array.  Lines 3-10 will loop through these divs and check to see if the id of the div matches the id that was passed over to the function.  If there is a match, the function will set the display attribute to <b>block</b> which will make the div and all its contents visible.  If the id does not match, the display attribute will be set to none which will make the div and all its contents hidden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/feed/</wfw:commentRss>
		<slash:comments>157</slash:comments>
		</item>
		<item>
		<title>Dynamic Country State Javascript Menu Example</title>
		<link>http://www.randomsnippets.com/2008/02/09/dynamic-country-state-javascript-menu-example/</link>
		<comments>http://www.randomsnippets.com/2008/02/09/dynamic-country-state-javascript-menu-example/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 07:36:02 +0000</pubDate>
		<dc:creator>Knix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=3</guid>
		<description><![CDATA[
I have found myself in a couple of situations where I needed a simple dynamic javascript menu where the user would make a selection from one select list and depending on what the user selected from the first select list a second list would offer further options.  Here is a perfect example:

Demo
Country:

 Select country&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p><script src="/wp-includes/js/countryToStateMenu.js" language="Javascript" type="text/javascript"></script><br />
I have found myself in a couple of situations where I needed a simple dynamic javascript menu where the user would make a selection from one select list and depending on what the user selected from the first select list a second list would offer further options.  Here is a perfect example:</p>
<fieldset>
<legend>Demo</legend>
<p>Country:<br />
</p>
<select name="country" id="country" style="background-color: #ffffa0" onchange="printStateMenu(this.value);"> <option>Select country&#8230;</option> <option value="US">United  States of America</option> <option value="CA">Canada</option> <option value="AF">Afghanistan</option> <option value="AX">Åland</option> <option value="AL">Albania</option> <option value="DZ">Algeria</option> <option value="AS">American Samoa</option> <option value="AD">Andorra</option> <option value="AO">Angola</option> <option value="AI">Anguilla</option> <option value="AQ">Antarctica</option> <option value="AG">Antigua and Barbuda</option> <option value="AR">Argentina</option> <option value="AM">Armenia</option> <option value="AW">Aruba</option> <option value="AU">Australia</option> <option value="AT">Austria</option> <option value="AZ">Azerbaijan</option> <option value="BS">Bahamas</option> <option value="BH">Bahrain</option> <option value="BD">Bangladesh</option> <option value="BB">Barbados</option> <option value="BY">Belarus</option> <option value="BE">Belgium</option> <option value="BZ">Belize</option> <option value="BJ">Benin</option> <option value="BM">Bermuda</option> <option value="BT">Bhutan</option> <option value="BO">Bolivia</option> <option value="BA">Bosnia and Herzegovina</option> <option value="BW">Botswana</option> <option value="BV">Bouvet Island</option> <option value="BR">Brazil</option> <option value="IO">British Indian Ocean Territory</option> <option value="BN">Brunei Darussalam</option> <option value="BG">Bulgaria</option> <option value="BF">Burkina Faso</option> <option value="BI">Burundi</option> <option value="KH">Cambodia</option> <option value="CM">Cameroon</option> <option value="CV">Cape Verde</option> <option value="KY">Cayman Islands</option> <option value="CF">Central African Republic</option> <option value="TD">Chad</option> <option value="CL">Chile</option> <option value="CN">China</option> <option value="CX">Christmas Island</option> <option value="CC">Cocos (Keeling) Islands</option> <option value="CO">Colombia</option> <option value="KM">Comoros</option> <option value="CG">Congo (Brazzaville)</option> <option value="CD">Congo (Kinshasa)</option> <option value="CK">Cook Islands</option> <option value="CR">Costa Rica</option> <option value="CI">Côte d&#8217;Ivoire</option> <option value="HR">Croatia</option> <option value="CU">Cuba</option> <option value="CY">Cyprus</option> <option value="CZ">Czech Republic</option> <option value="DK">Denmark</option> <option value="DJ">Djibouti</option> <option value="DM">Dominica</option> <option value="DO">Dominican Republic</option> <option value="EC">Ecuador</option> <option value="EG">Egypt</option> <option value="SV">El Salvador</option> <option value="GQ">Equatorial Guinea</option> <option value="ER">Eritrea</option> <option value="EE">Estonia</option> <option value="ET">Ethiopia</option> <option value="FK">Falkland Islands</option> <option value="FO">Faroe Islands</option> <option value="FJ">Fiji</option> <option value="FI">Finland</option> <option value="FR">France</option> <option value="GF">French Guiana</option> <option value="PF">French Polynesia</option> <option value="TF">French Southern Lands</option> <option value="GA">Gabon</option> <option value="GM">Gambia</option> <option value="GE">Georgia</option> <option value="DE">Germany</option> <option value="GH">Ghana</option> <option value="GI">Gibraltar</option> <option value="GR">Greece</option> <option value="GL">Greenland</option> <option value="GD">Grenada</option> <option value="GP">Guadeloupe</option> <option value="GU">Guam</option> <option value="GT">Guatemala</option> <option value="GG">Guernsey</option> <option value="GN">Guinea</option> <option value="GW">Guinea-Bissau</option> <option value="GY">Guyana</option> <option value="HT">Haiti</option> <option value="HM">Heard and McDonald Islands</option> <option value="HN">Honduras</option> <option value="HK">Hong Kong</option> <option value="HU">Hungary</option> <option value="IS">Iceland</option> <option value="IN">India</option> <option value="ID">Indonesia</option> <option value="IR">Iran</option> <option value="IQ">Iraq</option> <option value="IE">Ireland</option> <option value="IM">Isle of Man</option> <option value="IL">Israel</option> <option value="IT">Italy</option> <option value="JM">Jamaica</option> <option value="JP">Japan</option> <option value="JE">Jersey</option> <option value="JO">Jordan</option> <option value="KZ">Kazakhstan</option> <option value="KE">Kenya</option> <option value="KI">Kiribati</option> <option value="KP">Korea ( North )</option> <option value="KR">Korea ( South )</option> <option value="KW">Kuwait</option> <option value="KG">Kyrgyzstan</option> <option value="LA">Laos</option> <option value="LV">Latvia</option> <option value="LB">Lebanon</option> <option value="LS">Lesotho</option> <option value="LR">Liberia</option> <option value="LY">Libya</option> <option value="LI">Liechtenstein</option> <option value="LT">Lithuania</option> <option value="LU">Luxembourg</option> <option value="MO">Macau</option> <option value="MK">Macedonia</option> <option value="MG">Madagascar</option> <option value="MW">Malawi</option> <option value="MY">Malaysia</option> <option value="MV">Maldives</option> <option value="ML">Mali</option> <option value="MT">Malta</option> <option value="MH">Marshall Islands</option> <option value="MQ">Martinique</option> <option value="MR">Mauritania</option> <option value="MU">Mauritius</option> <option value="YT">Mayotte</option> <option value="MX">Mexico</option> <option value="FM">Micronesia</option> <option value="MD">Moldova</option> <option value="MC">Monaco</option> <option value="MN">Mongolia</option> <option value="ME">Montenegro</option> <option value="MS">Montserrat</option> <option value="MA">Morocco</option> <option value="MZ">Mozambique</option> <option value="MM">Myanmar</option> <option value="NA">Namibia</option> <option value="NR">Nauru</option> <option value="NP">Nepal</option> <option value="NL">Netherlands</option> <option value="AN">Netherlands Antilles</option> <option value="NC">New Caledonia</option> <option value="NZ">New Zealand</option> <option value="NI">Nicaragua</option> <option value="NE">Niger</option> <option value="NG">Nigeria</option> <option value="NU">Niue</option> <option value="NF">Norfolk Island</option> <option value="MP">Northern Mariana Islands</option> <option value="NO">Norway</option> <option value="OM">Oman</option> <option value="PK">Pakistan</option> <option value="PW">Palau</option> <option value="PS">Palestine</option> <option value="PA">Panama</option> <option value="PG">Papua New Guinea</option> <option value="PY">Paraguay</option> <option value="PE">Peru</option> <option value="PH">Philippines</option> <option value="PN">Pitcairn</option> <option value="PL">Poland</option> <option value="PT">Portugal</option> <option value="PR">Puerto Rico</option> <option value="QA">Qatar</option> <option value="RE">Reunion</option> <option value="RO">Romania</option> <option value="RU">Russian Federation</option> <option value="RW">Rwanda</option> <option value="BL">Saint Barthélemy</option> <option value="SH">Saint Helena</option> <option value="KN">Saint Kitts and Nevis</option> <option value="LC">Saint Lucia</option> <option value="MF">Saint Martin (French part)</option> <option value="PM">Saint Pierre and Miquelon</option> <option value="VC">Saint Vincent and the Grenadines</option> <option value="WS">Samoa</option> <option value="SM">San Marino</option> <option value="ST">Sao Tome and Principe</option> <option value="SA">Saudi Arabia</option> <option value="SN">Senegal</option> <option value="RS">Serbia</option> <option value="SC">Seychelles</option> <option value="SL">Sierra Leone</option> <option value="SG">Singapore</option> <option value="SK">Slovakia</option> <option value="SI">Slovenia</option> <option value="SB">Solomon Islands</option> <option value="SO">Somalia</option> <option value="ZA">South Africa</option> <option value="GS">South Georgia and South Sandwich Islands</option> <option value="KR">South Korea</option> <option value="ES">Spain</option> <option value="LK">Sri Lanka</option> <option value="SD">Sudan</option> <option value="SR">Suriname</option> <option value="SJ">Svalbard and Jan Mayen Islands</option> <option value="SZ">Swaziland</option> <option value="SE">Sweden</option> <option value="CH">Switzerland</option> <option value="SY">Syria</option> <option value="TW">Taiwan</option> <option value="TJ">Tajikistan</option> <option value="TZ">Tanzania</option> <option value="TH">Thailand</option> <option value="TL">Timor-Leste</option> <option value="TG">Togo</option> <option value="TK">Tokelau</option> <option value="TO">Tonga</option> <option value="TT">Trinidad and Tobago</option> <option value="TN">Tunisia</option> <option value="TR">Turkey</option> <option value="TM">Turkmenistan</option> <option value="TC">Turks and Caicos Islands</option> <option value="TV">Tuvalu</option> <option value="UG">Uganda</option> <option value="UA">Ukraine</option> <option value="AE">United Arab Emirates</option> <option value="GB">United Kingdom</option> <option value="UM">United States Minor Outlying Islands</option> <option value="UY">Uruguay</option> <option value="UZ">Uzbekistan</option> <option value="VU">Vanuatu</option> <option value="VA">Vatican City</option> <option value="VE">Venezuela</option> <option value="VN">Vietnam</option> <option value="VG">Virgin Islands ( British )</option> <option value="VI">Virgin Islands ( U.S. )</option> <option value="WF">Wallis and Futuna Islands</option> <option value="EH">Western Sahara</option> <option value="YE">Yemen</option> <option value="ZM">Zambia</option> <option value="ZW">Zimbabwe</option> </select>
<p>State/Province:</p>
<p id="stateSelect">
<select name="state" disabled="disabled"><option>Select state&#8230;</option></select>
</p>
<table>
<tr>
<td><strong>Country value:</strong></td>
<td>
<p id="countryValue">&nbsp;</p>
</td>
</tr>
<tr>
<td><strong>State/Province value:</strong></td>
<td>
<div id="stateValue">&nbsp;</div>
</td>
</tr>
</table>
</fieldset>
<p><span id="more-3"></span></p>
<p>In this example, the state/province menu is disabled until the user has first selected a country.  Then depending on the country that is chosen, the list of associated states or provinces would follow.  For the sake of simplicity, only the state/province menus have been implemented for the United States and Canada.  If any other country is chosen, the value for the <strong>state</strong> input defaults to <strong>Other</strong>.</p>
<p>Here is the HTML code for the example:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script src=&quot;/path to JavaScript File/countryToStateMenu.js&quot; language=&quot;Javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;p&gt;Country:&lt;/p&gt;
&lt;select name=&quot;country&quot; id=&quot;country&quot; onChange=&quot;printStateMenu(this.value);&quot;&gt;'.
     '&lt;option&gt;Select country...&lt;/option&gt;'.
     '&lt;option value=&quot;US&quot;&gt;United States of America&lt;/option&gt;'.
     '&lt;option value=&quot;CA&quot;&gt;Canada&lt;/option&gt;'.
     '&lt;option value=&quot;AF&quot;&gt;Afghanistan&lt;/option&gt;'.
     '&lt;option value=&quot;AX&quot;&gt;Åland&lt;/option&gt;'.
     '&lt;option value=&quot;AL&quot;&gt;Albania&lt;/option&gt;'.
     '&lt;option value=&quot;DZ&quot;&gt;Algeria&lt;/option&gt;'.
     '&lt;option value=&quot;AS&quot;&gt;American Samoa&lt;/option&gt;'.
     '&lt;option value=&quot;AD&quot;&gt;Andorra&lt;/option&gt;'.
     '&lt;option value=&quot;AO&quot;&gt;Angola&lt;/option&gt;'.
     '&lt;option value=&quot;AI&quot;&gt;Anguilla&lt;/option&gt;'.
     '&lt;option value=&quot;AQ&quot;&gt;Antarctica&lt;/option&gt;'.
     '&lt;option value=&quot;AG&quot;&gt;Antigua and Barbuda&lt;/option&gt;'.
     '&lt;option value=&quot;AR&quot;&gt;Argentina&lt;/option&gt;'.
     '&lt;option value=&quot;AM&quot;&gt;Armenia&lt;/option&gt;'.
     '&lt;option value=&quot;AW&quot;&gt;Aruba&lt;/option&gt;'.
     '&lt;option value=&quot;AU&quot;&gt;Australia&lt;/option&gt;'.
     '&lt;option value=&quot;AT&quot;&gt;Austria&lt;/option&gt;'.
     '&lt;option value=&quot;AZ&quot;&gt;Azerbaijan&lt;/option&gt;'.
     '&lt;option value=&quot;BS&quot;&gt;Bahamas&lt;/option&gt;'.
     '&lt;option value=&quot;BH&quot;&gt;Bahrain&lt;/option&gt;'.
     '&lt;option value=&quot;BD&quot;&gt;Bangladesh&lt;/option&gt;'.
     '&lt;option value=&quot;BB&quot;&gt;Barbados&lt;/option&gt;'.
     '&lt;option value=&quot;BY&quot;&gt;Belarus&lt;/option&gt;'.
     '&lt;option value=&quot;BE&quot;&gt;Belgium&lt;/option&gt;'.
     '&lt;option value=&quot;BZ&quot;&gt;Belize&lt;/option&gt;'.
     '&lt;option value=&quot;BJ&quot;&gt;Benin&lt;/option&gt;'.
     '&lt;option value=&quot;BM&quot;&gt;Bermuda&lt;/option&gt;'.
     '&lt;option value=&quot;BT&quot;&gt;Bhutan&lt;/option&gt;'.
     '&lt;option value=&quot;BO&quot;&gt;Bolivia&lt;/option&gt;'.
     '&lt;option value=&quot;BA&quot;&gt;Bosnia and Herzegovina&lt;/option&gt;'.
     '&lt;option value=&quot;BW&quot;&gt;Botswana&lt;/option&gt;'.
     '&lt;option value=&quot;BV&quot;&gt;Bouvet Island&lt;/option&gt;'.
     '&lt;option value=&quot;BR&quot;&gt;Brazil&lt;/option&gt;'.
     '&lt;option value=&quot;IO&quot;&gt;British Indian Ocean Territory&lt;/option&gt;'.
     '&lt;option value=&quot;BN&quot;&gt;Brunei Darussalam&lt;/option&gt;'.
     '&lt;option value=&quot;BG&quot;&gt;Bulgaria&lt;/option&gt;'.
     '&lt;option value=&quot;BF&quot;&gt;Burkina Faso&lt;/option&gt;'.
     '&lt;option value=&quot;BI&quot;&gt;Burundi&lt;/option&gt;'.
     '&lt;option value=&quot;KH&quot;&gt;Cambodia&lt;/option&gt;'.
     '&lt;option value=&quot;CM&quot;&gt;Cameroon&lt;/option&gt;'.
     '&lt;option value=&quot;CV&quot;&gt;Cape Verde&lt;/option&gt;'.
     '&lt;option value=&quot;KY&quot;&gt;Cayman Islands&lt;/option&gt;'.
     '&lt;option value=&quot;CF&quot;&gt;Central African Republic&lt;/option&gt;'.
     '&lt;option value=&quot;TD&quot;&gt;Chad&lt;/option&gt;'.
     '&lt;option value=&quot;CL&quot;&gt;Chile&lt;/option&gt;'.
     '&lt;option value=&quot;CN&quot;&gt;China&lt;/option&gt;'.
     '&lt;option value=&quot;CX&quot;&gt;Christmas Island&lt;/option&gt;'.
     '&lt;option value=&quot;CC&quot;&gt;Cocos (Keeling) Islands&lt;/option&gt;'.
     '&lt;option value=&quot;CO&quot;&gt;Colombia&lt;/option&gt;'.
     '&lt;option value=&quot;KM&quot;&gt;Comoros&lt;/option&gt;'.
     '&lt;option value=&quot;CG&quot;&gt;Congo (Brazzaville)&lt;/option&gt;'.
     '&lt;option value=&quot;CD&quot;&gt;Congo (Kinshasa)&lt;/option&gt;'.
     '&lt;option value=&quot;CK&quot;&gt;Cook Islands&lt;/option&gt;'.
     '&lt;option value=&quot;CR&quot;&gt;Costa Rica&lt;/option&gt;'.
     '&lt;option value=&quot;CI&quot;&gt;Côte dIvoire&lt;/option&gt;'.
     '&lt;option value=&quot;HR&quot;&gt;Croatia&lt;/option&gt;'.
     '&lt;option value=&quot;CU&quot;&gt;Cuba&lt;/option&gt;'.
     '&lt;option value=&quot;CY&quot;&gt;Cyprus&lt;/option&gt;'.
     '&lt;option value=&quot;CZ&quot;&gt;Czech Republic&lt;/option&gt;'.
     '&lt;option value=&quot;DK&quot;&gt;Denmark&lt;/option&gt;'.
     '&lt;option value=&quot;DJ&quot;&gt;Djibouti&lt;/option&gt;'.
     '&lt;option value=&quot;DM&quot;&gt;Dominica&lt;/option&gt;'.
     '&lt;option value=&quot;DO&quot;&gt;Dominican Republic&lt;/option&gt;'.
     '&lt;option value=&quot;EC&quot;&gt;Ecuador&lt;/option&gt;'.
     '&lt;option value=&quot;EG&quot;&gt;Egypt&lt;/option&gt;'.
     '&lt;option value=&quot;SV&quot;&gt;El Salvador&lt;/option&gt;'.
     '&lt;option value=&quot;GQ&quot;&gt;Equatorial Guinea&lt;/option&gt;'.
     '&lt;option value=&quot;ER&quot;&gt;Eritrea&lt;/option&gt;'.
     '&lt;option value=&quot;EE&quot;&gt;Estonia&lt;/option&gt;'.
     '&lt;option value=&quot;ET&quot;&gt;Ethiopia&lt;/option&gt;'.
     '&lt;option value=&quot;FK&quot;&gt;Falkland Islands&lt;/option&gt;'.
     '&lt;option value=&quot;FO&quot;&gt;Faroe Islands&lt;/option&gt;'.
     '&lt;option value=&quot;FJ&quot;&gt;Fiji&lt;/option&gt;'.
     '&lt;option value=&quot;FI&quot;&gt;Finland&lt;/option&gt;'.
     '&lt;option value=&quot;FR&quot;&gt;France&lt;/option&gt;'.
     '&lt;option value=&quot;GF&quot;&gt;French Guiana&lt;/option&gt;'.
     '&lt;option value=&quot;PF&quot;&gt;French Polynesia&lt;/option&gt;'.
     '&lt;option value=&quot;TF&quot;&gt;French Southern Lands&lt;/option&gt;'.
     '&lt;option value=&quot;GA&quot;&gt;Gabon&lt;/option&gt;'.
     '&lt;option value=&quot;GM&quot;&gt;Gambia&lt;/option&gt;'.
     '&lt;option value=&quot;GE&quot;&gt;Georgia&lt;/option&gt;'.
     '&lt;option value=&quot;DE&quot;&gt;Germany&lt;/option&gt;'.
     '&lt;option value=&quot;GH&quot;&gt;Ghana&lt;/option&gt;'.
     '&lt;option value=&quot;GI&quot;&gt;Gibraltar&lt;/option&gt;'.
     '&lt;option value=&quot;GR&quot;&gt;Greece&lt;/option&gt;'.
     '&lt;option value=&quot;GL&quot;&gt;Greenland&lt;/option&gt;'.
     '&lt;option value=&quot;GD&quot;&gt;Grenada&lt;/option&gt;'.
     '&lt;option value=&quot;GP&quot;&gt;Guadeloupe&lt;/option&gt;'.
     '&lt;option value=&quot;GU&quot;&gt;Guam&lt;/option&gt;'.
     '&lt;option value=&quot;GT&quot;&gt;Guatemala&lt;/option&gt;'.
     '&lt;option value=&quot;GG&quot;&gt;Guernsey&lt;/option&gt;'.
     '&lt;option value=&quot;GN&quot;&gt;Guinea&lt;/option&gt;'.
     '&lt;option value=&quot;GW&quot;&gt;Guinea-Bissau&lt;/option&gt;'.
     '&lt;option value=&quot;GY&quot;&gt;Guyana&lt;/option&gt;'.
     '&lt;option value=&quot;HT&quot;&gt;Haiti&lt;/option&gt;'.
     '&lt;option value=&quot;HM&quot;&gt;Heard and McDonald Islands&lt;/option&gt;'.
     '&lt;option value=&quot;HN&quot;&gt;Honduras&lt;/option&gt;'.
     '&lt;option value=&quot;HK&quot;&gt;Hong Kong&lt;/option&gt;'.
     '&lt;option value=&quot;HU&quot;&gt;Hungary&lt;/option&gt;'.
     '&lt;option value=&quot;IS&quot;&gt;Iceland&lt;/option&gt;'.
     '&lt;option value=&quot;IN&quot;&gt;India&lt;/option&gt;'.
     '&lt;option value=&quot;ID&quot;&gt;Indonesia&lt;/option&gt;'.
     '&lt;option value=&quot;IR&quot;&gt;Iran&lt;/option&gt;'.
     '&lt;option value=&quot;IQ&quot;&gt;Iraq&lt;/option&gt;'.
     '&lt;option value=&quot;IE&quot;&gt;Ireland&lt;/option&gt;'.
     '&lt;option value=&quot;IM&quot;&gt;Isle of Man&lt;/option&gt;'.
     '&lt;option value=&quot;IL&quot;&gt;Israel&lt;/option&gt;'.
     '&lt;option value=&quot;IT&quot;&gt;Italy&lt;/option&gt;'.
     '&lt;option value=&quot;JM&quot;&gt;Jamaica&lt;/option&gt;'.
     '&lt;option value=&quot;JP&quot;&gt;Japan&lt;/option&gt;'.
     '&lt;option value=&quot;JE&quot;&gt;Jersey&lt;/option&gt;'.
     '&lt;option value=&quot;JO&quot;&gt;Jordan&lt;/option&gt;'.
     '&lt;option value=&quot;KZ&quot;&gt;Kazakhstan&lt;/option&gt;'.
     '&lt;option value=&quot;KE&quot;&gt;Kenya&lt;/option&gt;'.
     '&lt;option value=&quot;KI&quot;&gt;Kiribati&lt;/option&gt;'.
     '&lt;option value=&quot;KP&quot;&gt;Korea ( North )&lt;/option&gt;'.
     '&lt;option value=&quot;KR&quot;&gt;Korea ( South )&lt;/option&gt;'.
     '&lt;option value=&quot;KW&quot;&gt;Kuwait&lt;/option&gt;'.
     '&lt;option value=&quot;KG&quot;&gt;Kyrgyzstan&lt;/option&gt;'.
     '&lt;option value=&quot;LA&quot;&gt;Laos&lt;/option&gt;'.
     '&lt;option value=&quot;LV&quot;&gt;Latvia&lt;/option&gt;'.
     '&lt;option value=&quot;LB&quot;&gt;Lebanon&lt;/option&gt;'.
     '&lt;option value=&quot;LS&quot;&gt;Lesotho&lt;/option&gt;'.
     '&lt;option value=&quot;LR&quot;&gt;Liberia&lt;/option&gt;'.
     '&lt;option value=&quot;LY&quot;&gt;Libya&lt;/option&gt;'.
     '&lt;option value=&quot;LI&quot;&gt;Liechtenstein&lt;/option&gt;'.
     '&lt;option value=&quot;LT&quot;&gt;Lithuania&lt;/option&gt;'.
     '&lt;option value=&quot;LU&quot;&gt;Luxembourg&lt;/option&gt;'.
     '&lt;option value=&quot;MO&quot;&gt;Macau&lt;/option&gt;'.
     '&lt;option value=&quot;MK&quot;&gt;Macedonia&lt;/option&gt;'.
     '&lt;option value=&quot;MG&quot;&gt;Madagascar&lt;/option&gt;'.
     '&lt;option value=&quot;MW&quot;&gt;Malawi&lt;/option&gt;'.
     '&lt;option value=&quot;MY&quot;&gt;Malaysia&lt;/option&gt;'.
     '&lt;option value=&quot;MV&quot;&gt;Maldives&lt;/option&gt;'.
     '&lt;option value=&quot;ML&quot;&gt;Mali&lt;/option&gt;'.
     '&lt;option value=&quot;MT&quot;&gt;Malta&lt;/option&gt;'.
     '&lt;option value=&quot;MH&quot;&gt;Marshall Islands&lt;/option&gt;'.
     '&lt;option value=&quot;MQ&quot;&gt;Martinique&lt;/option&gt;'.
     '&lt;option value=&quot;MR&quot;&gt;Mauritania&lt;/option&gt;'.
     '&lt;option value=&quot;MU&quot;&gt;Mauritius&lt;/option&gt;'.
     '&lt;option value=&quot;YT&quot;&gt;Mayotte&lt;/option&gt;'.
     '&lt;option value=&quot;MX&quot;&gt;Mexico&lt;/option&gt;'.
     '&lt;option value=&quot;FM&quot;&gt;Micronesia&lt;/option&gt;'.
     '&lt;option value=&quot;MD&quot;&gt;Moldova&lt;/option&gt;'.
     '&lt;option value=&quot;MC&quot;&gt;Monaco&lt;/option&gt;'.
     '&lt;option value=&quot;MN&quot;&gt;Mongolia&lt;/option&gt;'.
     '&lt;option value=&quot;ME&quot;&gt;Montenegro&lt;/option&gt;'.
     '&lt;option value=&quot;MS&quot;&gt;Montserrat&lt;/option&gt;'.
     '&lt;option value=&quot;MA&quot;&gt;Morocco&lt;/option&gt;'.
     '&lt;option value=&quot;MZ&quot;&gt;Mozambique&lt;/option&gt;'.
     '&lt;option value=&quot;MM&quot;&gt;Myanmar&lt;/option&gt;'.
     '&lt;option value=&quot;NA&quot;&gt;Namibia&lt;/option&gt;'.
     '&lt;option value=&quot;NR&quot;&gt;Nauru&lt;/option&gt;'.
     '&lt;option value=&quot;NP&quot;&gt;Nepal&lt;/option&gt;'.
     '&lt;option value=&quot;NL&quot;&gt;Netherlands&lt;/option&gt;'.
     '&lt;option value=&quot;AN&quot;&gt;Netherlands Antilles&lt;/option&gt;'.
     '&lt;option value=&quot;NC&quot;&gt;New Caledonia&lt;/option&gt;'.
     '&lt;option value=&quot;NZ&quot;&gt;New Zealand&lt;/option&gt;'.
     '&lt;option value=&quot;NI&quot;&gt;Nicaragua&lt;/option&gt;'.
     '&lt;option value=&quot;NE&quot;&gt;Niger&lt;/option&gt;'.
     '&lt;option value=&quot;NG&quot;&gt;Nigeria&lt;/option&gt;'.
     '&lt;option value=&quot;NU&quot;&gt;Niue&lt;/option&gt;'.
     '&lt;option value=&quot;NF&quot;&gt;Norfolk Island&lt;/option&gt;'.
     '&lt;option value=&quot;MP&quot;&gt;Northern Mariana Islands&lt;/option&gt;'.
     '&lt;option value=&quot;NO&quot;&gt;Norway&lt;/option&gt;'.
     '&lt;option value=&quot;OM&quot;&gt;Oman&lt;/option&gt;'.
     '&lt;option value=&quot;PK&quot;&gt;Pakistan&lt;/option&gt;'.
     '&lt;option value=&quot;PW&quot;&gt;Palau&lt;/option&gt;'.
     '&lt;option value=&quot;PS&quot;&gt;Palestine&lt;/option&gt;'.
     '&lt;option value=&quot;PA&quot;&gt;Panama&lt;/option&gt;'.
     '&lt;option value=&quot;PG&quot;&gt;Papua New Guinea&lt;/option&gt;'.
     '&lt;option value=&quot;PY&quot;&gt;Paraguay&lt;/option&gt;'.
     '&lt;option value=&quot;PE&quot;&gt;Peru&lt;/option&gt;'.
     '&lt;option value=&quot;PH&quot;&gt;Philippines&lt;/option&gt;'.
     '&lt;option value=&quot;PN&quot;&gt;Pitcairn&lt;/option&gt;'.
     '&lt;option value=&quot;PL&quot;&gt;Poland&lt;/option&gt;'.
     '&lt;option value=&quot;PT&quot;&gt;Portugal&lt;/option&gt;'.
     '&lt;option value=&quot;PR&quot;&gt;Puerto Rico&lt;/option&gt;'.
     '&lt;option value=&quot;QA&quot;&gt;Qatar&lt;/option&gt;'.
     '&lt;option value=&quot;RE&quot;&gt;Reunion&lt;/option&gt;'.
     '&lt;option value=&quot;RO&quot;&gt;Romania&lt;/option&gt;'.
     '&lt;option value=&quot;RU&quot;&gt;Russian Federation&lt;/option&gt;'.
     '&lt;option value=&quot;RW&quot;&gt;Rwanda&lt;/option&gt;'.
     '&lt;option value=&quot;BL&quot;&gt;Saint Barthélemy&lt;/option&gt;'.
     '&lt;option value=&quot;SH&quot;&gt;Saint Helena&lt;/option&gt;'.
     '&lt;option value=&quot;KN&quot;&gt;Saint Kitts and Nevis&lt;/option&gt;'.
     '&lt;option value=&quot;LC&quot;&gt;Saint Lucia&lt;/option&gt;'.
     '&lt;option value=&quot;MF&quot;&gt;Saint Martin (French part)&lt;/option&gt;'.
     '&lt;option value=&quot;PM&quot;&gt;Saint Pierre and Miquelon&lt;/option&gt;'.
     '&lt;option value=&quot;VC&quot;&gt;Saint Vincent and the Grenadines&lt;/option&gt;'.
     '&lt;option value=&quot;WS&quot;&gt;Samoa&lt;/option&gt;'.
     '&lt;option value=&quot;SM&quot;&gt;San Marino&lt;/option&gt;'.
     '&lt;option value=&quot;ST&quot;&gt;Sao Tome and Principe&lt;/option&gt;'.
     '&lt;option value=&quot;SA&quot;&gt;Saudi Arabia&lt;/option&gt;'.
     '&lt;option value=&quot;SN&quot;&gt;Senegal&lt;/option&gt;'.
     '&lt;option value=&quot;RS&quot;&gt;Serbia&lt;/option&gt;'.
     '&lt;option value=&quot;SC&quot;&gt;Seychelles&lt;/option&gt;'.
     '&lt;option value=&quot;SL&quot;&gt;Sierra Leone&lt;/option&gt;'.
     '&lt;option value=&quot;SG&quot;&gt;Singapore&lt;/option&gt;'.
     '&lt;option value=&quot;SK&quot;&gt;Slovakia&lt;/option&gt;'.
     '&lt;option value=&quot;SI&quot;&gt;Slovenia&lt;/option&gt;'.
     '&lt;option value=&quot;SB&quot;&gt;Solomon Islands&lt;/option&gt;'.
     '&lt;option value=&quot;SO&quot;&gt;Somalia&lt;/option&gt;'.
     '&lt;option value=&quot;ZA&quot;&gt;South Africa&lt;/option&gt;'.
     '&lt;option value=&quot;GS&quot;&gt;South Georgia and South Sandwich Islands&lt;/option&gt;'.
     '&lt;option value=&quot;KR&quot;&gt;South Korea&lt;/option&gt;'.
     '&lt;option value=&quot;ES&quot;&gt;Spain&lt;/option&gt;'.
     '&lt;option value=&quot;LK&quot;&gt;Sri Lanka&lt;/option&gt;'.
     '&lt;option value=&quot;SD&quot;&gt;Sudan&lt;/option&gt;'.
     '&lt;option value=&quot;SR&quot;&gt;Suriname&lt;/option&gt;'.
     '&lt;option value=&quot;SJ&quot;&gt;Svalbard and Jan Mayen Islands&lt;/option&gt;'.
     '&lt;option value=&quot;SZ&quot;&gt;Swaziland&lt;/option&gt;'.
     '&lt;option value=&quot;SE&quot;&gt;Sweden&lt;/option&gt;'.
     '&lt;option value=&quot;CH&quot;&gt;Switzerland&lt;/option&gt;'.
     '&lt;option value=&quot;SY&quot;&gt;Syria&lt;/option&gt;'.
     '&lt;option value=&quot;TW&quot;&gt;Taiwan&lt;/option&gt;'.
     '&lt;option value=&quot;TJ&quot;&gt;Tajikistan&lt;/option&gt;'.
     '&lt;option value=&quot;TZ&quot;&gt;Tanzania&lt;/option&gt;'.
     '&lt;option value=&quot;TH&quot;&gt;Thailand&lt;/option&gt;'.
     '&lt;option value=&quot;TL&quot;&gt;Timor-Leste&lt;/option&gt;'.
     '&lt;option value=&quot;TG&quot;&gt;Togo&lt;/option&gt;'.
     '&lt;option value=&quot;TK&quot;&gt;Tokelau&lt;/option&gt;'.
     '&lt;option value=&quot;TO&quot;&gt;Tonga&lt;/option&gt;'.
     '&lt;option value=&quot;TT&quot;&gt;Trinidad and Tobago&lt;/option&gt;'.
     '&lt;option value=&quot;TN&quot;&gt;Tunisia&lt;/option&gt;'.
     '&lt;option value=&quot;TR&quot;&gt;Turkey&lt;/option&gt;'.
     '&lt;option value=&quot;TM&quot;&gt;Turkmenistan&lt;/option&gt;'.
     '&lt;option value=&quot;TC&quot;&gt;Turks and Caicos Islands&lt;/option&gt;'.
     '&lt;option value=&quot;TV&quot;&gt;Tuvalu&lt;/option&gt;'.
     '&lt;option value=&quot;UG&quot;&gt;Uganda&lt;/option&gt;'.
     '&lt;option value=&quot;UA&quot;&gt;Ukraine&lt;/option&gt;'.
     '&lt;option value=&quot;AE&quot;&gt;United Arab Emirates&lt;/option&gt;'.
     '&lt;option value=&quot;GB&quot;&gt;United Kingdom&lt;/option&gt;'.
     '&lt;option value=&quot;UM&quot;&gt;United States Minor Outlying Islands&lt;/option&gt;'.
     '&lt;option value=&quot;UY&quot;&gt;Uruguay&lt;/option&gt;'.
     '&lt;option value=&quot;UZ&quot;&gt;Uzbekistan&lt;/option&gt;'.
     '&lt;option value=&quot;VU&quot;&gt;Vanuatu&lt;/option&gt;'.
     '&lt;option value=&quot;VA&quot;&gt;Vatican City&lt;/option&gt;'.
     '&lt;option value=&quot;VE&quot;&gt;Venezuela&lt;/option&gt;'.
     '&lt;option value=&quot;VN&quot;&gt;Vietnam&lt;/option&gt;'.
     '&lt;option value=&quot;VG&quot;&gt;Virgin Islands ( British )&lt;/option&gt;'.
     '&lt;option value=&quot;VI&quot;&gt;Virgin Islands ( U.S. )&lt;/option&gt;'.
     '&lt;option value=&quot;WF&quot;&gt;Wallis and Futuna Islands&lt;/option&gt;'.
     '&lt;option value=&quot;EH&quot;&gt;Western Sahara&lt;/option&gt;'.
     '&lt;option value=&quot;YE&quot;&gt;Yemen&lt;/option&gt;'.
     '&lt;option value=&quot;ZM&quot;&gt;Zambia&lt;/option&gt;'.
     '&lt;option value=&quot;ZW&quot;&gt;Zimbabwe&lt;/option&gt;
&lt;/select&gt;
&lt;p&gt;State/Province:&lt;/p&gt;
&lt;p id=&quot;stateSelect&quot;&gt;&lt;select name=&quot;state&quot; id=&quot;state&quot; disabled=&quot;disabled&quot;&gt;&lt;option value=&quot;Other&quot;&gt;Select state...&lt;/option&gt;&lt;/select&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Country value:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;p id=&quot;countryValue&quot;&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;State value:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;p id=&quot;stateValue&quot;&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</pre></div></div>

<p>After the user makes a country selection, the Javascript <strong>onChange</strong> event is fired and executes the <strong>printStateMenu</strong>  Javascript function and passes the value of the country that was chosen as an argument.  The table just displays the current values of the <strong>country</strong> and <strong>state</strong> select inputs.  Please note that the script source path on line 1 will have to edited depending on where you store the JavaScript function.  Here is the Javascript code for the <strong>printStateMenu</strong> function:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> printStateMenu<span style="color: #009900;">&#40;</span>country<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>     
	<span style="color: #003366; font-weight: bold;">var</span> stateSelect <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span>;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>country <span style="color: #339933;">==</span> <span style="color: #3366CC;">'US'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		stateSelect <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;select name=&quot;state&quot; id=&quot;state&quot; onchange=&quot;document.getElementById(<span style="color: #000099; font-weight: bold;">\'</span>stateValue<span style="color: #000099; font-weight: bold;">\'</span>).innerHTML = this.value;&quot;&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;AK&quot;&gt;AK-Alaska&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;AL&quot;&gt;AL-Alabama&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;AR&quot;&gt;AR-Arkansas&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;AZ&quot;&gt;AZ-Arizona&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;CA&quot;&gt;CA-California&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;CO&quot;&gt;CO-Colorado&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;CT&quot;&gt;CT-Connecticut&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;DC&quot;&gt;DC-District of Columbia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;DE&quot;&gt;DE-Delaware&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;FL&quot;&gt;FL-Florida&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;GA&quot;&gt;GA-Georgia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;HI&quot;&gt;HI-Hawaii&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;IA&quot;&gt;IA-Iowa&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;ID&quot;&gt;ID-Idaho&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;IL&quot;&gt;IL-Illinois&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;IN&quot;&gt;IN-Indiana&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;KS&quot;&gt;KS-Kansas&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;KY&quot;&gt;KY-Kentucky&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;LA&quot;&gt;LA-Louisiana&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MA&quot;&gt;MA-Massachusetts&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MD&quot;&gt;MD-Maryland&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;ME&quot;&gt;ME-Maine&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MI&quot;&gt;MI-Michigan&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MN&quot;&gt;MN-Minnesota&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MO&quot;&gt;MO-Missouri&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MS&quot;&gt;MS-Mississippi&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MT&quot;&gt;MT-Montana&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NC&quot;&gt;NC-North Carolina&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;ND&quot;&gt;ND-North Dakota&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NE&quot;&gt;NE-Nebraska&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NH&quot;&gt;NH-New Hampshire&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NJ&quot;&gt;NJ-New Jersey&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NM&quot;&gt;NM-New Mexico&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NV&quot;&gt;NV-Nevada&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NY&quot;&gt;NY-New York&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;OH&quot;&gt;OH-Ohio&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;OK&quot;&gt;OK-Oklahoma&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;OR&quot;&gt;OR-Oregon&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;PA&quot;&gt;PA-Pennsylvania&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;RI&quot;&gt;RI-Rhode Island&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;SC&quot;&gt;SC-South Carolina&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;SD&quot;&gt;SD-South Dakota&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;TN&quot;&gt;TN-Tennessee&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;TX&quot;&gt;TX-Texas&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;UT&quot;&gt;UT-Utah&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;VA&quot;&gt;VA-Virginia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;VT&quot;&gt;VT-Vermont&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;WA&quot;&gt;WA-Washington&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;WI&quot;&gt;WI-Wisconsin&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;WV&quot;&gt;WV-West Virginia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;WY&quot;&gt;WY-Wyoming&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;/select&gt;'</span>;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>country <span style="color: #339933;">==</span> <span style="color: #3366CC;">'CA'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		stateSelect <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;select name=&quot;state&quot; id=&quot;state&quot; onchange=&quot;document.getElementById(<span style="color: #000099; font-weight: bold;">\'</span>stateValue<span style="color: #000099; font-weight: bold;">\'</span>).innerHTML = this.value;&quot;&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;AB&quot;&gt;AB-Alberta&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;BC&quot;&gt;BC-British Columbia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;MB&quot;&gt;MB-Manitoba&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NB&quot;&gt;NB-New Brunswick&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NL&quot;&gt;NL-Newfoundland and Labrador&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NT&quot;&gt;NT-Northwest Territories&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NS&quot;&gt;NS-Nova Scotia&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;NU&quot;&gt;NU-Nunavut&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;ON&quot;&gt;ON-Ontario&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;PE&quot;&gt;PE-Prince Edward Island&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;QC&quot;&gt;QC-Quebec&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;SK&quot;&gt;SK-Saskatchewan&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;YT&quot;&gt;YT-Yukon&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;/select&gt;'</span>;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		stateSelect <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;select name=&quot;state&quot; id=&quot;state&quot; disabled&gt;'</span>.
		<span style="color: #3366CC;">'&lt;option value=&quot;Other&quot;&gt;Select state...&lt;/option&gt;'</span>.
		<span style="color: #3366CC;">'&lt;/select&gt;'</span>;
	<span style="color: #009900;">&#125;</span>
	document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'stateSelect'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> stateSelect;
	document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'countryValue'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'country'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>;
	document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'stateValue'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'state'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>This Javascript function is pretty simple.  It looks at the country value that was selected and creates the corresponding state/province menu.  Then it replaces the HTML code in the <strong>stateSelect</strong> DOM element with the new select menu.  The state/province select inputs for US and Canada also have an <strong>onChange</strong> event that displays the chosen value of the state input into the table.  The select menu for any other country will just return a disabled select menu and default to the <strong>Other</strong> value for the <strong>state</strong> input.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/02/09/dynamic-country-state-javascript-menu-example/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
