$('#_SelectID').change(function () {
var SelectedText = $('option:selected',this).text();
var SelectedValue = $('option:selected',this).val();
});
Another and short way to get value of selected value,
$('#selectElement').on('change',function(){
var selectedVal = $(this).val();
^^^^ ^^^^ -> presents #selectElement selected value
|
v
presents #selectElement,
});
You can use the jQuery find method
$('select').change(function () {
var optionSelected = $(this).find("option:selected");
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
The above solution works perfectly but I choose to add the following code for them willing to get the clicked option. It allows you get the selected option even when this select value has not changed. (Tested with Mozilla only)
$('select').find('option').click(function () {
var optionSelected = $(this);
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
You can use this jquery select change event for get selected option value
$(document).ready(function () { _x000D_
$('body').on('change','#select', function() {_x000D_
$('#show_selected').val(this.value);_x000D_
});_x000D_
});
_x000D_
<!DOCTYPE html> _x000D_
<html> _x000D_
<title>Learn Jquery value Method</title>_x000D_
<head> _x000D_
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> _x000D_
</head> _x000D_
<body> _x000D_
<select id="select">_x000D_
<option value="">Select One</option>_x000D_
<option value="PHP">PHP</option>_x000D_
<option value="jAVA">JAVA</option>_x000D_
<option value="Jquery">jQuery</option>_x000D_
<option value="Python">Python</option>_x000D_
<option value="Mysql">Mysql</option>_x000D_
</select>_x000D_
<br><br> _x000D_
<input type="text" id="show_selected">_x000D_
</body> _x000D_
</html>
_x000D_
In case anyone is using the delegated approach for their listener, use e.target
(it will refer to the select element).
$('#myform').on('change', 'select', function (e) {
var val = $(e.target).val();
var text = $(e.target).find("option:selected").text(); //only time the find is required
var name = $(e.target).attr('name');
}
See official API documentation https://api.jquery.com/selected-selector/
This good works:
$( "select" ).on('change',function() {
var str = "";
// For multiple choice
$( "select option:selected" ).each(function() {
str += $( this ).val() + " ";
});
});
and
$( "select" ).on('change',function() {
// For unique choice
var selVal = $( "select option:selected" ).val();
});
and be easy for unique choice
var SelVal = $( "#idSelect option:selected" ).val();
I find this shorter and cleaner. Besides, you can iterate through selected items if there are more than one;
$('select').on('change', function () {
var selectedValue = this.selectedOptions[0].value;
var selectedText = this.selectedOptions[0].text;
});
<select id="selectId">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
$('#selectId').on('change', function () {
var selectVal = $("#selectId option:selected").val();
});
First create a select option
. After that using jquery
you can get current selected value when user change select option
value.
Source: Stackoverflow.com