View Full Version : dinamic selects
poring
02-05-2003, 07:18 PM
I've got two selects:
<select name="language">
<option value="en">English</option>
<option value="zh-cn">Chinese</option>
</select>
<select name="encoding">
<option value="ISO-8859-1">ISO-8859-1</option>
<option value="BIG5">BIG5</option>
</select>
How would I maje it so that when someone selects 'English' in the first select, the second select automatically sets itself to 'ISO-8859-1', and if the person selects 'Chinese', the secong select sets itself to 'BIG5'?
Thanks
beetle
02-05-2003, 07:21 PM
<select name="language" onchange="this.form.encoding.selectedIndex=this.selectedIndex;">
<option value="en">English</option>
<option value="zh-cn">Chinese</option>
</select>
<select name="encoding">
<option value="ISO-8859-1">ISO-8859-1</option>
<option value="BIG5">BIG5</option>
</select>
poring
02-05-2003, 07:41 PM
Thank you, but that isn't going to work if I add more languages that need the same encoding.. For exemple:
<select name="language">
<option value="en">English</option>
<option value="fr">French</option>
<option value="zh-cn">Chinese</option>
</select>
<select name="encoding">
<option value="ISO-8859-1">ISO-8859-1</option>
<option value="BIG5">BIG5</option>
</select>
(French and English both are ISO-8859-1)
Thanks
beetle
02-05-2003, 08:00 PM
Sure thing...This one is completely based off of values, and not indexes.<html>
<head>
<title>Test</title>
<script type="text/javascript">
function setEncoding( elem )
{
var lang = elem.options[elem.selectedIndex].value;
var encElem = elem.form.encoding;
switch( lang )
{
case 'en':
case 'fr':
setSelect( 'ISO-8859-1' );
break;
case 'zh-cn':
setSelect( 'BIG5' );
break;
default :
encElem.selectedIndex = 0;
}
function setSelect( value )
{
var i = 0;
while ( encElem.options[i].value != value )
i++;
encElem.selectedIndex = i;
}
}
</script>
<body>
<form>
<select name="language" onchange="setEncoding( this );">
<option value="">Choose language</option>
<option value="en">English</option>
<option value="fr">French</option>
<option value="zh-cn">Chinese</option>
</select>
<select name="encoding">
<option value="">Encoding</option>
<option value="ISO-8859-1">ISO-8859-1</option>
<option value="BIG5">BIG5</option>
</select>
</form>
</body>
</html>
poring
02-05-2003, 08:02 PM
That's great, thanks a lot!
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.