Software, your way.
burger menu icon
WillMaster

WillMaster > LibraryTutorials and Answers

FREE! Coding tips, tricks, and treasures.

Possibilities weekly ezine

Get the weekly email website developers read:

 

Your email address

name@example.com
YES! Send Possibilities every week!

Link Selects Dropdown List Item

This tutorial describes how JavaScript can be used to select a dropdown list option when a link is clicked.

The link specifies the option value. The JavaScript selects the option from the dropdown list with that value. Option values may be different than the option text visible in the dropdown list.

Instead of changing selections by option number, the JavaScript does so by option value.

Doing it by option value, the option can be anywhere in the dropdown list. Knowing its position in the options list isn't required.

In the example, click on a option-value link to change the dropdown selection.

Option value links
Dropdown

The Tutorial

The JavaScript needs no customization. But the HTML needs several things noted.

Let's do the JavaScript first.

<script type="text/javascript">
function SelectByValue(id,val)
{
   var dropdown = document.getElementById(id);
   for( var i=0; i<dropdown.length; i++ )
   {
      if( dropdown[i].value == val ) { dropdown[i].selected = true; }
      else { dropdown[i].selected = false; }
   }
}
</script>

The SelectByValue() function accepts the id value of the select dropdown field and the option value that shall be selected.

As the function checks each option that the select dropdown field has, it selects every option with a value that equals what the function was provided. Otherwise, the option is de-selected.

If the function finds no option value that equals what it was provided, no option will be selected. When none is selected, browsers generally default to the first option.

If more than one option value equals what the function was provided, each will be selected. Browsers generally default to the last option that is selected.

Here is the HTML.

<!-- The select dropdown field. -->
<select id="my-dropdown">
<option value=""></option>
<option value="red">Color Red</option>
<option value="blue">Color Blue</option>
<option value="green">Color Green</option>
<option value="yellow">Color Yellow</option>
</select>

<!-- The links. -->
<a href="javascript:SelectByValue('my-dropdown','red')">Red</a>
<a href="javascript:SelectByValue('my-dropdown','blue')">Blue</a>
<a href="javascript:SelectByValue('my-dropdown','green')">Green</a>
<a href="javascript:SelectByValue('my-dropdown','yellow')">Yellow</a>
<a href="javascript:SelectByValue('my-dropdown','')">(blank)</a>

In the HTML code, notice the select dropdown field's id="my-dropdown" and also the 'my-dropdown' parameter for the link function calls. If the select dropdown field's id value changes, then the select id value in the links also need to be changed.

Notice also the option values. They're colored red in the select dropdown field and also colored red in the link function call parameter. Each link causes a selection to be made in the dropdown where the selection's option value equals the function parameter value.

Clicking on the link with href="javascript:SelectByValue('my-dropdown','yellow')" causes the id="my-dropdown" select dropdown <option value="yellow"> to be selected.

With the above, you have the tools to code your own custom implementation.

For reference, here is the complete source code of the example.


<div style="border:1px solid #ccc; border-radius:.9px; padding:1em 1em 0 1em; display:table;">

<div style="float:left; margin:0 1em 1em 0;">
<div class="underline">Option value links</div>
<div style="margin-top:.5em;"><a href="javascript:SelectByValue('my-dropdown','red')">Red</a></div>
<div style="margin-top:.5em;"><a href="javascript:SelectByValue('my-dropdown','blue')">Blue</a></div>
<div style="margin-top:.5em;"><a href="javascript:SelectByValue('my-dropdown','green')">Green</a></div>
<div style="margin-top:.5em;"><a href="javascript:SelectByValue('my-dropdown','yellow')">Yellow</a></div>
<div style="margin-top:.5em;"><a href="javascript:SelectByValue('my-dropdown','')">(blank)</a></div>
</div>

<div style="float:left; margin:0 1em 0 0;">
<div class="underline">Dropdown</div>
<select id="my-dropdown" style="margin-top:1em;">
<option value=""></option>
<option value="red">Color Red</option>
<option value="blue">Color Blue</option>
<option value="green">Color Green</option>
<option value="yellow">Color Yellow</option>
</select>
</div>

<div style="clear:left;"></div>
</div>

<script type="text/javascript">
function SelectByValue(id,val)
{
   var dropdown = document.getElementById(id);
   for( var i=0; i<dropdown.length; i++ )
   {
      if( dropdown[i].value == val ) { dropdown[i].selected = true; }
      else { dropdown[i].selected = false; }
   }
}
</script>

Note that the link to change the dropdown selection isn't required to be a text link. It can be an image link, or an image/text combination.

(This article first appeared in Possibilities newsletter.)

Will Bontrager

Was this article helpful to you?
(anonymous form)

Support This Website

Some of our support is from people like you who see the value of all that's offered for FREE at this website.

"Yes, let me contribute."

Amount (USD):

Tap to Choose
Contribution
Method

All information in WillMaster Library articles is presented AS-IS.

We only suggest and recommend what we believe is of value. As remuneration for the time and research involved to provide quality links, we generally use affiliate links when we can. Whenever we link to something not our own, you should assume they are affiliate links or that we benefit in some way.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2024 Will Bontrager Software LLC