Bagaimana cara menetapkan placeholder pada reset nilai oleh select2. Dalam contoh saya Jika lokasi atau kotak pilih tingkat diklik dan select2 saya memiliki nilai daripada nilai select2 harus mengatur ulang dan menunjukkan placeholder default. Skrip ini sedang mengatur ulang nilai tetapi tidak akan menampilkan placeholder
$("#locations, #grade ").change(function() {
$('#e6').select2('data', {
placeholder: "Studiengang wählen",
id: null,
text: ''
});
});
$("#e6").select2({
placeholder: "Studiengang wählen",
width: 'resolve',
id: function(e) {
return e.subject;
},
minimumInputLength: 2,
ajax: {
url: "index.php?option=com_unis&task=search.locator&tmpl=component&<?php echo JSession::getFormToken() ?>=1",
dataType: 'json',
data: function(term, page) {
return {
q: term, // search term
g: $('#grade option:selected').val(),
o: $('#locations option:selected').val()
};
},
results: function(data, page) {
return {
results: data
};
}
},
formatResult: subjectFormatResult,
formatSelection: subjectFormatSelection,
dropdownCssClass: "bigdrop",
escapeMarkup: function(m) {
return m;
}
});
.select2("val", "")
berfungsi lagi.$("#customers_select").val('').trigger('change') ;
Saya menggunakan ini dan itu berhasil.Select2 telah mengubah API mereka:
Cara terbaik untuk melakukan ini sekarang adalah:
Sunting: Desember 2016 Komentar menyarankan bahwa di bawah ini adalah cara yang diperbarui untuk melakukan ini:
sumber
$('#your_select_input').val('').trigger('change')
change
tambahan pemicu, tetapi juga memicu pustaka validasi yang kami gunakan - untuk saat ini saya harus menggunakan versi yang sudah tidak digunakan lagi.Jawaban yang diterima tidak berfungsi dalam kasus saya. Saya mencoba ini, dan berhasil:
Tentukan select2:
atau
Untuk mengatur ulang:
atau
sumber
$('#your_select_input').val('').trigger('change')
juga$('#your_select_input').val('');
tidak berfungsi di FirefoxSatu-satunya hal yang dapat bekerja untuk saya adalah:
Saya menggunakan versi 4.0.3
Referensi
Menurut Dokumentasi Select2
sumber
$('select2element').val("").trigger("change")
bekerja dengan baik juga.Dengan Select2 versi 4.0.9 ini berfungsi untuk saya:
sumber
Select2 menggunakan kelas CSS tertentu, jadi cara mudah untuk meresetnya adalah:
Dan Anda memiliki keuntungan jika Anda memiliki beberapa Select2 pada bentuk yang sama, semuanya akan direset dengan perintah tunggal ini.
sumber
Gunakan ini :
sumber
UNTUK MENGHAPUS NILAI TERPILIH
UNTUK MEMBERSIHKAN NILAI OPSI
sumber
Saya tahu ini semacam pertanyaan lama, tetapi ini berfungsi untuk select2 versi 4.0
atau
jika Anda memiliki perubahan acara terikat padanya
sumber
$('#select2-element').last().val('').trigger('change.select2');
Gunakan berikut ini untuk mengkonfigurasi select2
Dan untuk menghapus pilih input secara terprogram
sumber
Ini cara yang benar:
Saya menggunakan rilis Select2 terbaru.
sumber
Pertama, Anda harus mendefinisikan select2 seperti ini:
Untuk mengatur ulang select2, cukup Anda dapat menggunakan blok kode berikut:
sumber
Anda dapat menghapus pilihan oleh
Tapi itu tidak akan mengubah Anda kembali ke pengganti Anda.
Jadi ini solusi setengahnya
sumber
Saya mencoba solusi di atas tetapi tidak berhasil untuk saya.
Ini semacam peretasan, di mana Anda tidak perlu memicu perubahan.
atau
sumber
Untuk pengguna yang memuat data jarak jauh, ini akan mengatur ulang select2 ke placeholder tanpa melepaskan ajax. Bekerja dengan v4.0.3:
sumber
Jadi, untuk mereset form beberapa dari Anda akan memiliki tombol reset. Tambahkan kode berikut di dalam tag skrip
Atau hanya mengosongkan bidang pilih tanpa menjaga placeholder:
sumber
Untuk dudukan tempat
Untuk mereset pilihan 2
Semoga ini membantu
sumber
Mengikuti cara yang disarankan untuk melakukannya. Ditemukan dalam dokumentasi https://select2.github.io/options.html#my-first-option-is-being-displayed-instead-of-my-placeholder (ini tampaknya merupakan masalah yang cukup umum):
Ketika ini terjadi biasanya berarti Anda tidak memiliki kosong
<option></option>
sebagai opsi pertama di Anda<select>
.seperti dalam:
sumber
Saya juga mengalami masalah ini dan itu berasal dari
val(null).trigger("change");
melemparNo select2/compat/inputData
kesalahan sebelum placeholder mendapat reset. Saya menyelesaikannya dengan menangkap kesalahan dan mengatur placeholder secara langsung (bersama dengan lebar). Catatan: Jika Anda memiliki lebih dari satu, Anda harus menangkap masing-masing.Saya menjalankan Select2 4.0.3
sumber
change
acara tersebut. Coba picuchange.select2
- itu tidak akan memicu pendengar yang terikat (lihat github.com/select2/select2/issues/3620 ).pada v.4.0.x ...
untuk menghapus nilai, tetapi juga mengembalikan penggunaan placeholder ...
jika kosong, ia akan memilih item opsi pertama yang mungkin bukan yang Anda inginkan
terus terang ... Select2 adalah rasa sakit di pantat, itu mengherankan saya itu belum diganti.
sumber
Saya sudah mencoba solusi di atas tetapi tidak ada yang bekerja dengan versi 4x.
Yang ingin saya capai adalah: hapus semua opsi tapi jangan sentuh placeholder. Kode ini berfungsi untuk saya.
sumber
Menggunakan select2 versi 3.2 ini bekerja untuk saya:
Tidak perlu diimplementasikan
initSelection
sumber
Setelah mencoba 10 solusi pertama di sini dan gagal, saya menemukan solusi ini berfungsi (lihat komentar "nilov pada 7 April • diedit" di halaman):
Perubahan kemudian dibuat:
(Penulis awalnya menunjukkan
var $select = $(this[1]);
, yang dikoreksi oleh komentatorvar $select = $(this[0]);
, yang saya tunjukkan di atas.)sumber
Gunakan kode ini ke file js Anda
sumber
Sebelum Anda menghapus nilai menggunakan ini
$("#customers_select").select2("val", "");
coba pengaturan ini untuk kontrol lain pada klik reset.Ini akan menampilkan placeholder lagi.
sumber
Antarmuka DOM, sudah melacak status awal ...
Jadi melakukan yang berikut ini sudah cukup:
sumber
Baik setiap kali saya melakukannya
Saya mulai mendapatkan semacam kelambatan setelah sekitar tiga hingga empat pemicu. Saya kira ada kebocoran memori. Ini tidak ada dalam kode saya karena jika saya menghapus baris ini, aplikasi saya bebas lag.
Karena saya memiliki opsi allowClear yang disetel ke true, saya ikut
Ini dapat diikuti oleh $ ('myselectdropdown'). Select2 ('close'); pemicu acara pada elemen select2 dom jika Anda ingin menutup drop down saran terbuka.
sumber
Salah satu cara yang sangat rumit untuk melakukannya (saya melihatnya berfungsi untuk versi 4.0.3):
sumber
Solusi saya adalah:
sumber
di mana 0 adalah nilai pertama dropdown Anda
sumber