How can I dynamically populate data when selecting an option from a dropdown list?

J

jzhang29

I have a JSP page and it contains a dropdown list called Office.

What I try to do is:

When I select different office from this list, the information of office
(address, phone,etc) will be populated in same JSP page.

I have a java bean called officeBean that contains all the office
information.

My question is how to use JavaScript to implement this function.

Any sample code is welcome.

Kevin
 
R

RobB

jzhang29 said:
I have a JSP page and it contains a dropdown list called Office.

What I try to do is:

When I select different office from this list, the information of office
(address, phone,etc) will be populated in same JSP page.

I have a java bean called officeBean that contains all the office
information.

My question is how to use JavaScript to implement this function.

Any sample code is welcome.

Kevin

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>untitled</title>
<style type="text/css">

input, select {
font: 12px tahoma;
text-align: right;
padding: 2px;
border: 1px #000 solid;
}

</style>
<script type="text/javascript">

var offices =
{

'Shanghai' :
{
address: '223 Willow Way' ,
phone: '22-435-4857' ,
carpet: 'brown shag'
},

'Tokyo' :
{
address: '223-55 Ginza' ,
phone: '333-435-4857' ,
carpet: 'Karastan Blue'
},

'San Francisco' :
{
address: '511 Embarcadero' ,
phone: '415-786-4908' ,
carpet: 'red linoleum'
},

'London' :
{
address: '5 Charing Cross' ,
phone: '4-77-888-3847' ,
carpet: 'brown shag'
},

'Tikrit' :
{
address: '19 Rubble Street' ,
phone: 'n/a' ,
carpet: 'flying'
},

'default' :
{
address: '' ,
phone: '' ,
carpet: ''
}

}

function populate(obj)
{
var v = obj.options[obj.selectedIndex].value,
office = offices[v || 'default'],
bullet = '· ';
if (null != office)
{
for (data in office)
if (field = document.getElementById(data))
field.value = bullet + office[data];
}
}

</script>
</head>
<body>
<form>
<select name="office" onchange="return populate(this)">
<option value="">- pick -</option>
<option value=""></option>
<option value="Shanghai">Shanghai</option>
<option value="Tokyo">Tokyo</option>
<option value="San Francisco">San Francisco</option>
<option value="London">London</option>
<option value="Tikrit">Tikrit</option>
</select>___select an office...
<hr />
<input
type="text"
id="address"
name="address"
value="· " />__address<br />
<input
type="text"
id="phone"
name="phone"
value="· " />__phone<br />
<input
type="text"
id="carpet"
name="carpet"
value="· " />__carpet<br />
</form>
</body>
</html>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top