How to Add Options to Select in JavaScript?

Today will equip you with the knowledge of how to dynamically add options to a select element in JavaScript.

When it comes to web forms, the <select> element is a fundamental component that allows users to make choices from a dropdown list.

In this article, we will hand you the solutions for adding options to a select element in JavaScript.

Solutions on how to add options to select in JavaScript

You can easily add options to a select dropdown using JavaScript. Just follow these simple steps:

Solution 1: Creating and appending option elements

One way to add options to a select element is to create new option elements and append them to the select element as its child.

Here’s an example that creates options from 1 to 100 in a select with id=”selectElementId”:

const min = 1;
const max = 100;
const select = document.getElementById("selectElementId");
for (let i = min; i <= max; i++) {
const opt = document.createElement("option");
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}

Here’s the complete code:

<!DOCTYPE html>
<html>
<head>
    <title>Add Options to Select in JavaScript</title>
    <style>
        /* Center the content */
        body {
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>How to Add Options to Select in JavaScript</h1>
    <select id="mySelect"></select>
    <script>
        const min = 1;
        const max = 100;
        const select = document.getElementById("mySelect");
        for (let i = min; i <= max; i++) {
            const opt = document.createElement("option");
            opt.value = i;
            opt.innerHTML = i;
            select.appendChild(opt);
        }
    </script>
</body>
</html>

Output:

javascript add option to select

Solution 2: Using the add() method

Another way to add options to a select element is to use the add() method of the select object.

This method takes two arguments: the option element to add, and the index at which to insert the new option.

If no index is specified, the new option will be inserted at the end of the list. Here’s an example:

var x = document.getElementById("mySelect");
var option = document.createElement("option");
option.text = "subjects";
x.add(option);

Here’s the complete code using the add() method:

<!DOCTYPE html>
<html>
<head>
    <title>Add Options to Select in JavaScript</title>
    <style>
        /* Center the content */
        body {
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>How to Add Options to Select in JavaScript</h1>
    <select id="mySelect"></select>
    <script>
        var x = document.getElementById("mySelect");
        var subjects = ["Math", "English", "Science", "History", "Statistics"];
        for (var i = 0; i < subjects.length; i++) {
            var option = document.createElement("option");
            option.text = subjects[i];
            x.add(option);
        }
    </script>
</body>
</html>

Output:

add option to select javascript

Solution 3: Inserting options at a specific index

You can also use the add() method to insert options at a specific index in the list.

Here’s an example code that adds a “Kiwi” option at index position “2” of a drop-down list:

var x = document.getElementById("mySelect");
var option = document.createElement("option");
option.text = "Kiwi";
x.add(option, x[2]);

Here’s the complete code:

<!DOCTYPE html>
<html>
<head>
    <title>Add Options to Select in JavaScript</title>
    <style>
        body {
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>How to Add Option to Select in JavaScript</h1>
    <select id="mySelect">
        <option>Apple</option>
        <option>Banana</option>
        <option>Mango</option>
        <option>Orange</option>
    </select>
    <script>
        var x = document.getElementById("mySelect");
        var option = document.createElement("option");
        option.text = "Kiwi";
        x.add(option, x[2]);
    </script>
</body>
</html>

This code creates a select element with the id “mySelect” and four pre-existing options: “Apple,” “Banana,” “Mango,” and “Orange.”

Output:

javascript add options to select

It then adds a “Kiwi” option at index position “2” using the add() method of the select object. The new option is created using the createElement() method, its text property is set to “Kiwi,” and it is inserted at index position “2” using the second argument of the add() method.

Conclusion

In conclusion, this article shows you three easy ways to add options to select in the dropdown list in JavaScript.

You can use a loop to create and add options one by one or use the “add()” method to insert options at the end or a specific position.

These methods help you dynamically populate dropdown lists with options on your website.

We are hoping that this article provides you with enough information that help you understand the JavaScript add option to select.

You can also check out the following article:

Thank you for reading itsourcecoders 😊.

Quick step-by-step summary (click to expand)
  1. Understand the goal. Read the article intro to know what add options to select looks like and when to use it in your JavaScript code.
  2. Set up your JavaScript file. Create a new .js file or open the browser console. Have Node.js installed if the example runs server-side.
  3. Write the core logic. Follow the code block below. It shows the minimal working syntax to add options to select.
  4. Test the result. Run the code in Node or your browser. Confirm the expected output prints or the DOM updates as described.
  5. Handle edge cases. Wrap risky code in try/catch. Check for undefined, null, and empty-array inputs before applying the fix in production.

Frequently Asked Questions

Is JavaScript still worth learning in 2026?
Yes. JavaScript runs on 98% of websites for the front-end, dominates the back-end via Node.js, powers mobile apps through React Native, builds desktop tools through Electron, and is the scripting layer for most AI tooling (LangChain.js, OpenAI SDK, Vercel AI). Whether you target web, mobile, AI, or full-stack capstones, JavaScript is the broadest single language you can learn.
What is the difference between var, let, and const?
var is function-scoped, hoisted to the top of its scope, and can be redeclared, which leads to bugs in modern code. let is block-scoped (only visible inside the nearest {}) and can be reassigned. const is block-scoped and cannot be reassigned, although object contents can still mutate. Default to const for everything, switch to let only when you actually need to reassign, and avoid var in any code written after 2017.
Which JavaScript version should I target in 2026?
Target ES2020 (ES11) as the safe baseline because every modern browser and Node.js 14+ supports it fully. ES2022 adds useful features like top-level await, private class fields with the # prefix, and the .at() array method. If you are writing for older browsers (IE11 or older Android WebViews), transpile down with Babel or use a build tool like Vite, esbuild, or webpack.
What is the best free editor for JavaScript?
Visual Studio Code is the industry standard, free, with built-in IntelliSense, debugger, terminal, Git, and a huge extension marketplace (ESLint, Prettier, GitHub Copilot, Tailwind). Install the JavaScript and TypeScript Nightly extension for the latest language features. JetBrains WebStorm is more powerful and free for students with a verified .edu email. For quick scratchpad work, the Chrome DevTools Sources panel includes a workspace and breakpoint debugger.
How do I run JavaScript locally vs in the browser?
In the browser: open DevTools with F12 (or right-click then Inspect), go to the Console tab, type or paste your code, press Enter. For HTML pages, add a script tag pointing to your .js file. Locally with Node.js: download Node from nodejs.org (LTS version), then run node script.js in your terminal from the file folder. Use the same Node setup for backend capstones, API integrations, and scripts that do not need a browser.
What can I build with JavaScript for my BSIT capstone?
Common BSIT capstones in JavaScript: full-stack web apps using React or Vue on the front-end with Node.js and Express on the back-end (MongoDB or MySQL for the database), real-time chat or notification systems using Socket.io, single-page dashboards with Chart.js or D3.js, cross-platform mobile apps with React Native, AI-powered chatbots using OpenAI SDK and LangChain.js, and Chrome extensions for productivity tools. Add Tailwind CSS for the UI and Vercel or Netlify for free deployment.

Caren Bautista


Technical Writer at PIES IT Solution

Responsible for crafting clear, well-structured, and beginner-friendly content across the platform. Handles the writing, proofreading, and editorial review of tutorials, guides, and documentation to ensure every article is accurate, readable, and easy to follow.

Expertise: Technical Writing · Content Creation · Documentation · Editorial Writing · JavaScript · TypeScript · Python · Python Errors · HTTP Errors · MS Excel
 · View all posts by Caren Bautista →

Leave a Comment