Jeg bundet en hendelse på endringshendelsen til mine utvalgte elementer med dette:
$('select').on('change', '', function (e) {
});
Hvordan får jeg tilgang til elementet som ble valgt når endringshendelsen inntreffer?
Du kan bruke metoden jQuery find.
$('select').change(function () {
var optionSelected = $(this).find("option:selected");
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
Ovennevnte løsning fungerer perfekt, men jeg velger å legge til følgende kode for dem som er villige til å få det klikkede alternativet. Det lar deg få det valgte alternativet selv når denne valgverdien ikke har endret seg. (Kun testet med Mozilla)
$('select').find('option').click(function () {
var optionSelected = $(this);
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
Hvis noen bruker delegert tilnærming for sin lytter, bruk e.target
(det vil referere til select-elementet).
$('#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');
}