With jQuery, you can use the . remove() method to takes elements out of the DOM. To get the selected item from a dropdown, you can use the :selected property and call remove() on the matched element.
The option to be removed is selected by getting the select box. The value to be removed is specified on the value selector (value='optionValue') on the select box. The remove() method is then used to remove this selected option.
To remove the options of an HTML element of select , you can utilize the remove() method: function removeOptions(selectElement) { var i, L = selectElement. options. length - 1; for(i = L; i >= 0; i--) { selectElement.
Remove an option:
$("#selectBox option[value='option1']").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selectBox" id="selectBox">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
Add an option:
$("#selectBox").append('<option value="option5">option5</option>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selectBox" id="selectBox">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
You can delete the selected item with this:
$("#selectBox option:selected").remove();
This is useful if you have a list and not a dropdown.
window.onload = function ()
{
var select = document.getElementById('selectBox');
var delButton = document.getElementById('delete');
function remove()
{
value = select.selectedIndex;
select.removeChild(select[value]);
}
delButton.onclick = remove;
}
To add the item I would create second select box and:
var select2 = document.getElementById('selectBox2');
var addSelect = document.getElementById('addSelect');
function add()
{
value1 = select2.selectedIndex;
select.appendChild(select2[value1]);
}
addSelect.onclick = add;
Not jQuery though.
To Remove an Item
$("select#mySelect option[value='option1']").remove();
To Add an item
$("#mySelect").append('<option value="option1">Option</option>');
To Check for an option
$('#yourSelect option[value=yourValue]').length > 0;
To remove a selected option
$('#mySelect :selected').remove();
This should do it:
$('#selectBox').empty();
I find the jQuery select box manipulation plugin useful for this type of thing.
You can easily remove an item by index, value, or regex.
removeOption(index/value/regex/array[, selectedOnly])
Remove an option by
- index: $("#myselect2").removeOption(0);
- value: $("#myselect").removeOption("Value");
- regular expression: $("#myselect").removeOption(/^val/i);
- array $("#myselect").removeOption(["myselect_1", "myselect_2"]);
To remove all options, you can do $("#myselect").removeOption(/./);
.
Adding/Removing value dynamically without hard-code:
// remove value from select dynamically
$("#id-select option[value='" + dynamicVal + "']").remove();
// Add dynamic value to select
$("#id-select").append('<option value="' + dynamicVal + '">' + dynamicVal + '</option>');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With