How to Dynamically Add Select Fields Using jQuery?
Last Updated :
20 May, 2024
Select Fields can be added dynamically using jQuery. This increases the flexibility and interactivity of web forms, allowing users to add or remove options as needed. In this article, we will learn two different approaches to Dynamically Add Select Fields Using jQuery.
These are the following approaches:
Using jQuery append()
In this approach, we are using jQuery's append() method to dynamically add select fields to the HTML document. When the "Add Select Field" button is clicked, a new <select> element with options for "Orange" and "Grape" is appended to the #selectContainer div.
Example: The below example uses jQuery append() to Dynamically Add selected Fields Using jQuery.
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example 1</title>
<script src=
"https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body style="font-family: Arial, sans-serif;
padding: 20px;">
<h1 style="color: green;
text-align: center;">GeeksforGeeks</h1>
<h3 style="text-align: center;">Approach 1: Using jQuery append()</h3>
<h4 style="text-align: center;">Select a Fruit:</h4>
<div id="selectContainer"
style="margin: 20px auto; width: fit-content;">
<select name="fruit"
style="padding: 5px;">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
</select>
</div>
<button id="addSelect" style="display: block;
margin: 20px auto;
padding: 10px 20px;
cursor: pointer;">
Add Select Field
</button>
<script>
$(document).ready(function () {
$('#addSelect').on('click', function () {
$('#selectContainer').append(
'<select name="fruit" style="padding: 5px;"><option value="orange">Orange</option><option value="grape">Grape</option></select>'
);
});
});
</script>
</body>
</html>
Output:

Using jQuery clone()
In this approach, we are using jQuery's clone() method to duplicate the initial select field. Upon clicking "Add Select Field," the script clones the select field and appends it to the container, ensuring new select fields are dynamically added based on user input for the number of elements and their values.
Example: The below example uses jQuery clone() to Dynamically Add Select Fields Using jQuery.
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example 2</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 20px;
text-align: center;
}
#selectContainer {
margin: 20px auto;
width: fit-content;
}
select,
input[type="number"],
input[type="text"],
button {
margin: 5px;
padding: 8px;
border-radius: 5px;
border: 1px solid #ccc;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.row {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.row>* {
margin: 5px;
}
</style>
<script src=
"https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<h1 style="color: green;">GeeksforGeeks</h1>
<h3>Approach 2: Using jQuery clone()</h3>
<h4>Select a Fruit:</h4>
<div id="selectContainer">
<select name="fruit">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
</select>
</div>
<div class="row">
<label for="numElements">Number of Elements
in Select Fields:</label>
<input type="number" id="numElements" min="1" value="1">
</div>
<div class="row">
<label for="elements">Elements of
Select Fields:</label>
<input type="text" id="elements"
placeholder="Enter elements separated by commas">
</div>
<div class="row">
<button id="addSelect">Add Select Field</button>
</div>
<script>
$(document).ready(function () {
$('#addSelect').on('click', function () {
const numElements = $('#numElements').val();
const elements =
$('#elements').val().split(',').map(element => element.trim());
if (numElements > 0 && elements.length > 0) {
const selectField = $('#selectContainer select:first-child');
const clonedSelect = selectField.clone();
for (let i = 0; i < numElements; i++) {
if (!selectField.find(`option[value=
"${elements[i]}"]`).length &&
!clonedSelect.find(`option[value=
"${elements[i]}"]`).length) {
clonedSelect.append(
`<option value="${elements[i]}">${elements[i]}</option>`);
}
}
$('#selectContainer').append(clonedSelect);
$('#numElements').val('1');
$('#elements').val('');
} else {
alert('Please enter valid values!');
}
});
});
</script>
</body>
</html>
Output:
Similar Reads
How to Dynamically Add/Remove Table Rows using jQuery? We will dynamically add/remove rows from an HTML table using jQuery. jQuery provides us with a lot of methods to perform various tasks. To dynamically add and remove the rows from an HTML table, we are also going to use some of these jQuery methods like append(), remove(), etc.Adding a rowTo add a r
3 min read
How to add and remove input fields dynamically using jQuery with Bootstrap ? In this article, we will learn how to add and remove input fields dynamically using jQuery with Bootstrap. The input fields will be added and removed from the HTML document dynamically using jQuery.In this process, we will use the following multiple functions.Click() Method: Used to attach the click
3 min read
How to sort option elements alphabetically using jQuery? Sort option elements alphabetically using jQuery, you can extract the options, sort them, and then append them back in the sorted order. This process helps enhance the user experience by organizing dropdown options. Below are the approaches to sort option elements alphabetically using jQuery: Table
3 min read
How to add options to a select element using jQuery? We will dynamically add the options to the select element using jQuery. jQuery has a lot of in-built methods. But, we will use some of them to accomplish the purpose of dynamically adding the options to the select element as listed below:Table of ContentBy passing the HTML of the option tag to the a
4 min read
How to create a div using jQuery with style tag ? Creating an <div> element with a style tag using jQuery can be done in the following steps. Steps: Create a new <div> element.Create an object with all the styles that we want to apply.Choose a parent element, where to put this newly created element.Put the created div element into the p
2 min read
Create a Form Dynamically using Dform and jQuery If you have ever used Google forms, you might have wondered how does it work. How an end-user can create their form dynamically. If these questions ever came across your mind, then this article can help you. Prerequisite: Basic of HTML and CSSBasic of JQuery The plugin which we are going to use here
3 min read