All pastes #121312 Raw Edit

DropDown Select Box

public javascript v1 · immutable
·published 2006-08-07 21:49 UTC
rendered paste body
<html>	<head>		<title>Enter the title of your HTML document here</title>	<style type="text/css">BODY{    FONT-SIZE: 9pt;    FONT-FAMILY: Tahoma}TD{    FONT-SIZE: 9pt;    FONT-FAMILY: Tahoma}TH{    FONT-SIZE: 10pt;    FONT-FAMILY: Tahoma}XML{  WIDTH: 0px;  HEIGHT: 0px;  DISPLAY: none;}	</style> 	<script language="JavaScript"><!--			<![CDATA[var blnIE;function setEvents() {	/* 	Function:			setEvents		Creation Date:	May 2004		Programmer:		Edmond Woychowsky		Purpose:			The purpose of this function is to initialize this page.	*/	var reWork = new RegExp('internet explorer','gi');	(reWork.test(navigator.appName)) ? blnIE = true : blnIE = false;	selectHandler() ;}function selectHandler() {	/* 	Function:			selectHandler		Creation Date:	May 2004		Programmer:		Edmond Woychowsky		Purpose:			The purpose of this function is to handle select							object onchange events.	*/	var xmlObject;	var strOption = new Array();	var intOption = 0;	if(arguments.length == 0) {		if(blnIE) {			xmlObject = document.getElementById('medias').XMLDocument;			for(var i=0;i < xmlObject.selectNodes('//media').length;i++) {				document.getElementById('media').options[i] = new Option(xmlObject.selectNodes('//media').item(i).text,xmlObject.selectNodes('//media').item(i).text);				optionList(strOption,xmlObject.selectNodes('//category').item(i).text);			}		} else {			for(var i=0;i < document.getElementsByTagName('media').length;i++)				document.getElementById('media').options[i] = new Option(document.getElementsByTagName('media').item(i).firstChild.nodeValue,document.getElementsByTagName('media').item(i).firstChild.nodeValue);			for(var i=0;i < document.getElementsByTagName('category').length;i++)				optionList(strOption,document.getElementsByTagName('category').item(i).firstChild.nodeValue);		}				for(var i=0;i < strOption.length;i++)			document.getElementById('category').options[i] = new Option(strOption[i],strOption[i]);	}	else		if(blnIE) {			xmlObject = document.getElementById('medias').XMLDocument;			if(arguments[0].id == 'media') {				for(var i=0;i < xmlObject.selectNodes('//store').length;i++)					if(arguments[0].value == xmlObject.selectNodes('//store/media').item(i).text) {						document.getElementById('category').value = xmlObject.selectNodes('//store/category').item(i).text;						break;					}			} else {				document.getElementById('media').options.length = 0;				for(var i=0;i < xmlObject.selectNodes('//store').length;i++)					if(arguments[0].value == xmlObject.selectNodes('//store/category').item(i).text) {						document.getElementById('media').options[intOption] = new Option(xmlObject.selectNodes('//store/media').item(i).text,xmlObject.selectNodes('//store/media').item(i).text);						++intOption;					}			}		} else 			if(arguments[0].id == 'media') {				for(var i=0;i < document.getElementsByTagName('media').length;i++)					if(arguments[0].value == document.getElementsByTagName('media').item(i).firstChild.nodeValue) {						document.getElementById('category').value = document.getElementsByTagName('category').item(i).firstChild.nodeValue;						break;					}			} else {				document.getElementById('media').options.length = 0;				for(var i=0;i < document.getElementsByTagName('category').length;i++)					if(arguments[0].value == document.getElementsByTagName('category').item(i).firstChild.nodeValue) {						document.getElementById('media').options[intOption] = new Option(document.getElementsByTagName('media').item(i).firstChild.nodeValue,document.getElementsByTagName('media').item(i).firstChild.nodeValue);						++intOption;					}			}	function optionList(objOption,strOptionName) {		/* 	Function:			optionList			Creation Date:	May 2004			Programmer:		Edmond Woychowsky			Purpose:			The purpose of this function is to add unique items								to an array.		*/		var blnAdd = true;		for(var j=0;j < objOption.length;j++)			if(objOption[j] == strOptionName) {				blnAdd = false;				break;			}		if(blnAdd)			objOption.push(strOptionName);		objOption.sort();	}}//			]]> -->		</script>	</head>	<body onload="setEvents()">		  <form method="POST" enctype="multipart/form-data" action="select2.asp" name="add">		<table>			<tbody>				<tr>					<th align="right"><p>Category:</p>				    </th>					<td align="left">						<select id="category" name="category" size="1" onchange="selectHandler(this)">						</select>					</td>				</tr>				<tr>					<th width="20%" align="right">Media:</th>					<td align="left">						<select id="media" name="media" size="1" onchange="selectHandler(this)">						</select>					</td>				</tr>				<tr>				  <th align="right">&nbsp;</th>				  <td align="left"><input type="submit" value="Submit"></td>			  </tr>			</tbody>		</table>		</form>		<xml id="medias" async="false">			<root>				<store>					<media>- - -</media>					<category>- - -</category>				<store>					<media>Acrlyic</media>					<category>Paintings</category>				</store>				<store>					<media>Mixed Media</media>					<category>Paintings</category>				</store>				<store>					<media>Drawings</media>					<category>Illustrations</category>				</store>				<store>					<media>Scratchboard</media>					<category>Illustrations</category>				</store>				<store>					<media>Collage</media>					<category>Illustrations</category>				</store>				<store>					<media>Assemblage</media>					<category>Sculpture</category>				</store>				<store>					<media>Digital</media>					<category>Photography</category>				</store>				<store>					<media>Spirit Boxes</media>					<category>Ceramics</category>				</store>				<store>					<media>Hand Built</media>					<category>Ceramics</category>				</store>			</root>		</xml>	</body></html>