Skip to content
the poor coder

jquery select on select

Poor Man
Published
Reading time
3 min read

jQuery Select on Select#

jQuery is a powerful JavaScript library that simplifies the process of manipulating HTML documents, handling events, and creating animations. One of the key features of jQuery is its ability to select elements in an HTML document using CSS-like selectors. In this answer, I will explain how to use jQuery to select elements based on a user's selection from a dropdown list.

HTML Structure#

To demonstrate how to select elements based on a user's selection from a dropdown list, let's assume we have the following HTML structure:

Text
<div id="myDiv">
  <select id="mySelect">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>
  <p class="option1">You have selected Option 1</p>
  <p class="option2">You have selected Option 2</p>
  <p class="option3">You have selected Option 3</p>
</div>

In this example, we have a `` element with three `` elements. When the user selects an option, a corresponding `` element will be displayed. jQuery Code To select elements based on the user's selection from the dropdown list, we can use jQuery's `change()` method to detect when the selection has changed, and then use the `val()` method to get the selected value. We can then use this value to select the corresponding element using jQuery's `addClass()` and `removeClass()` methods. Here is the jQuery code: <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { $("#mySelect").change(function() { var selectedVal = $(this).val(); $("#myDiv p").removeClass("active"); $("." + selectedVal).addClass("active"); }); }); </script> In this code, we first include the jQuery library by adding a `` tag with a URL to the jQuery CDN. We then use the `$(document).ready()` function to ensure that the code is executed after the page has finished loading.</p> <p>Inside the `$(document).ready()` function, we use the `$()` function to select the `<select>` element with an ID of `mySelect`. We then call the `change()` method on this element to detect when its value has changed.</p> <p>Inside the `change()` method, we use the `$()` function again to select all `<p>` elements inside the `<div>` element with an ID of `myDiv`. We then call the `removeClass()` method on these elements to remove the `active` class from any elements that currently have it.</p> <p>We then use the `$()` function again to select `<p>` elements with a class name that matches the selected value. For example, if the user selects "option1", we will select all `<p>` elements with a class of `option1`. We then call the `addClass()` method on these elements to add the `active` class.</p> <h3>CSS Code</h3> <p>To make the selected `<p>` element stand out, we can use some simple CSS code to add a background color:</p> <pre><code>&lt;style&gt; #myDiv p.active { background-color: yellow; } &lt;/style&gt;</code></pre> <p>In this code, we use the `#myDiv p.active` selector to select any `<p>` element inside the `<div>` element with an ID of `myDiv` that has the `active` class. We then set the `background-color` property to `yellow`.</p> <h3>Alternative Methods</h3> <p>There are several alternative methods for selecting elements based on a user's selection from a dropdown list. One option is to use the `selectedIndex` property of the `<select>` element to get the index of the selected option, and then use this index to select the corresponding element:</p> <pre><code>&lt;script&gt; $(document).ready(function() { $("#mySelect").change(function() { var selectedIdx = $(this)[0].selectedIndex; $("#myDiv p").removeClass("active"); $("#myDiv p").eq(selectedIdx).addClass("active"); }); }); &lt;/script&gt;</code></pre> <p>In this code, we use the `$()[0]` syntax to access the underlying DOM element for the `<select>` element, and then use the `selectedIndex` property to get the index of the selected option. We then use jQuery's `eq()` method to select the corresponding `<p>` element.</p> <p>Another option is to use a switch statement to select the corresponding element based on the selected value:</p> <pre><code>&lt;script&gt; $(document).ready(function() { $("#mySelect").change(function() { var selectedVal = $(this).val(); $("#myDiv p").removeClass("active"); switch (selectedVal) { case "option1": $(".option1").addClass("active"); break; case "option2": $(".option2").addClass("active"); break; case "option3": $(".option3").addClass("active"); break; } }); }); &lt;/script&gt;</code></pre> <p>In this code, we use a switch statement to select the corresponding `<p>` element based on the selected value. This approach may be more verbose, but it can be useful when dealing with more complex selection logic.</p></body>

Keep going

2023

how to sort an array

How to Sort an Array If you have an array and you want to order its elements in a specific way, you need to use a sorting algorithm. There are several sorting algorithms available, but two of the most commonly used are…

javascript2 min read
2023

jquery mobile or desktop

jQuery Mobile or Desktop? As a web developer, I have had some experience with both jQuery Mobile and jQuery Desktop. Both frameworks have their pros and cons, and which one to use really depends on the specific project…

javascript1 min read
2023

node.js folder structure

Node.js Folder Structure If you are new to Node.js, it can be daunting to create a folder structure that will work for your project. The structure you choose will depend on the size and complexity of your project. Here…

javascript1 min read
ESC