Explain

How to change the selected value of a drop-down list with jQuery?

When you need to programmatically change which option is selected within a <select> element, you can rely on the .val() method in jQuery. This sets the value attribute of the dropdown to the desired value and updates the UI accordingly.

// Suppose you have a dropdown: <select id="mySelect">...</select>

$('#mySelect').val('newValue');

1. How It Works

  • The string you pass to .val() should match the value attribute of one of the <option> elements in the dropdown.
  • If the dropdown is in a form, changing .val() will also update what’s submitted if the form is subsequently submitted.

2. Example

Consider this HTML:

<select id="mySelect">
  <option value="js">JavaScript</option>
  <option value="py">Python</option>
  <option value="cpp">C++</option>
</select>

By running:

$('#mySelect').val('py');

The dropdown will switch its displayed value to “Python”.

3. Handling Non-Existent Values

If you set a value that doesn’t exist in the <select> options, the dropdown will revert to its initial state with no visible change. Make sure the value you provide matches one of the <option> elements’ values.

Recommended Courses

4. Setting the Selected Text Instead of Value

If you don’t have a known value but do know the text, you’d first find which option has that text and then set its value. For example:

$('#mySelect option').each(function() {
  if ($(this).text() === 'Python') {
    $('#mySelect').val($(this).attr('value'));
    return false; // Break out of the each loop
  }
});

It’s generally simpler to manage by value, but you can adapt to your data structure as needed.

Level Up Your JavaScript Skills

If you’re learning jQuery or modern JavaScript, check out:

For a real-world interview simulation, see Coding Mock Interviews at DesignGurus.io, where ex-FAANG engineers provide hands-on feedback to elevate your coding and communication.

In a nutshell, .val('newValue') is your go-to method for dynamically switching the selected option in a dropdown. This simple solution keeps your UI updates clean, consistent, and easy to manage.