Saya mengikat acara pada acara perubahan elemen pilih saya dengan ini:
$('select').on('change', '', function (e) {
});
Bagaimana saya bisa mengakses elemen yang dipilih ketika acara perubahan terjadi?
Saya mengikat acara pada acara perubahan elemen pilih saya dengan ini:
$('select').on('change', '', function (e) {
});
Bagaimana saya bisa mengakses elemen yang dipilih ketika acara perubahan terjadi?
Jawaban:
$('select').on('change', function (e) {
var optionSelected = $("option:selected", this);
var valueSelected = this.value;
....
});
$("selector", this)
Anda menemukan semua selector
elemen di dalam this
konteks. Menulis $("selector", this)
hampir sama dengan $(this).find('selector')
$()
adalah alias dari jQuery()
, Anda dapat menemukan dokumentasi di sini: api.jquery.com/jQuery Tanda tangan menyatakan ada jelas jQuery( selector [, context ] )
. @ Bellash: jika "hampir sama", apa bedanya? Atau apa yang lebih cepat? Saya lebih suka .find()
karena ini lebih OO IMO ...
.find()
sekitar 10% lebih cepat sesuai dengan jawaban ini: stackoverflow.com/a/9046288/2767703
Anda dapat menggunakan metode pencarian jQuery
$('select').change(function () {
var optionSelected = $(this).find("option:selected");
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
Solusi di atas berfungsi dengan baik tetapi saya memilih untuk menambahkan kode berikut untuk mereka yang mau mendapatkan opsi yang diklik. Ini memungkinkan Anda mendapatkan opsi yang dipilih bahkan ketika nilai pilih ini tidak berubah. (Diuji hanya dengan Mozilla)
$('select').find('option').click(function () {
var optionSelected = $(this);
var valueSelected = optionSelected.val();
var textSelected = optionSelected.text();
});
option
acara adalah proposisi yang berisiko, terutama pada perangkat seluler. Misalnya, Webkit tidak mendukung acara ini dengan benar: bugs.chromium.org/p/chromium/issues/detail?id=5284
Jika ada orang yang menggunakan pendekatan yang didelegasikan untuk pendengar mereka, gunakan e.target
(itu akan merujuk pada elemen pilih).
$('#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');
}
Saya menemukan ini lebih pendek dan lebih bersih. Selain itu, Anda dapat beralih melalui item yang dipilih jika ada lebih dari satu;
$('select').on('change', function () {
var selectedValue = this.selectedOptions[0].value;
var selectedText = this.selectedOptions[0].text;
});
selectedOptions
tidak tersedia di semua browser.
this.options[ this.options.selectedIndex ]
. Mozilla mengatakan didukung oleh Firefox dari 26, IE Tidak ada dukungan.
<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();
});
Pertama buat a select option
. Setelah itu menggunakan jquery
Anda bisa mendapatkan nilai yang dipilih saat ini ketika pengguna mengubah select option
nilai.
$('#_SelectID').change(function () {
var SelectedText = $('option:selected',this).text();
var SelectedValue = $('option:selected',this).val();
});
Cara lain dan singkat untuk mendapatkan nilai dari nilai yang dipilih,
$('#selectElement').on('change',function(){
var selectedVal = $(this).val();
^^^^ ^^^^ -> presents #selectElement selected value
|
v
presents #selectElement,
});
Lihat dokumentasi API resmi https://api.jquery.com/selected-selector/
Ini bekerja dengan baik:
$( "select" ).on('change',function() {
var str = "";
// For multiple choice
$( "select option:selected" ).each(function() {
str += $( this ).val() + " ";
});
});
dan
$( "select" ).on('change',function() {
// For unique choice
var selVal = $( "select option:selected" ).val();
});
dan mudah untuk pilihan unik
var SelVal = $( "#idSelect option:selected" ).val();
Anda dapat menggunakan acara perubahan pemilihan jquery ini untuk mendapatkan nilai opsi yang dipilih
$(document).ready(function () {
$('body').on('change','#select', function() {
$('#show_selected').val(this.value);
});
});
<!DOCTYPE html>
<html>
<title>Learn Jquery value Method</title>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<select id="select">
<option value="">Select One</option>
<option value="PHP">PHP</option>
<option value="jAVA">JAVA</option>
<option value="Jquery">jQuery</option>
<option value="Python">Python</option>
<option value="Mysql">Mysql</option>
</select>
<br><br>
<input type="text" id="show_selected">
</body>
</html>