Anda dapat menghapus opsi yang ada dengan menggunakan empty
metode ini, dan kemudian menambahkan opsi baru Anda:
var option = $('<option></option>').attr("value", "option value").text("Text");
$("#selectId").empty().append(option);
Jika Anda memiliki opsi baru di suatu objek, Anda dapat:
var newOptions = {"Option 1": "value1",
"Option 2": "value2",
"Option 3": "value3"
};
var $el = $("#selectId");
$el.empty(); // remove old options
$.each(newOptions, function(key,value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
Sunting: Untuk menghapus semua opsi kecuali yang pertama, Anda dapat menggunakan :gt
pemilih, untuk mendapatkan semua option
elemen dengan indeks lebih besar dari nol dan remove
mereka:
$('#selectId option:gt(0)').remove(); // remove all options, but not the first
$('#selectId').selectpicker('refresh'); $('#selectId').selectpicker('render');
. Kalau tidak, opsi baru tidak akan terlihat di daftar pilih Anda.$el.append($('<option/>', { value: value, text: key }));
Saya melemparkan jawaban CMS yang sangat baik ke ekstensi jQuery cepat:
Itu mengharapkan array objek yang berisi kunci "teks" dan "nilai". Jadi penggunaannya adalah sebagai berikut:
sumber
di mana comboBx adalah id kotak kombo Anda.
atau Anda dapat menambahkan opsi sebagai string ke innerHTML yang sudah ada dan kemudian menetapkan ke innerHTML pilih.
Edit
Jika Anda perlu menyimpan opsi pertama dan menghapus semua yang lain maka Anda dapat menggunakan
sumber
Untuk beberapa alasan aneh bagian ini
dari solusi CMS tidak bekerja untuk saya, jadi alih-alih saya hanya menggunakan ini
Dan itu berhasil. Jadi kode kerja saya sekarang terlihat seperti itu:
sumber
Menghapus dan menambahkan elemen DOM lebih lambat daripada modifikasi yang sudah ada.
Jika set pilihan Anda memiliki panjang yang sama, Anda dapat melakukan sesuatu seperti ini:
Jika set pilihan baru Anda memiliki panjang yang berbeda, Anda dapat menghapus / menambahkan opsi kosong yang benar-benar Anda butuhkan, menggunakan beberapa teknik yang dijelaskan di atas.
sumber
Jika misalnya kode html Anda mengandung kode ini:
Untuk mengubah daftar opsi di dalam pilihan Anda, Anda dapat menggunakan kode ini di bawah. ketika nama Anda pilih bernama selectId .
dalam contoh di atas saya mengubah daftar opsi lama dengan hanya satu opsi baru.
sumber
Apakah ini membantu?
sumber
Sekolah lama melakukan sesuatu dengan tangan selalu baik untukku.
Bersihkan pilih dan tinggalkan opsi pertama:
Jika data Anda berasal dari Json atau apa pun (hanya Concat data):
My Json Objetc:
Solusi ini sangat ideal untuk bekerja dengan Ajax, dan menjawab dalam Json dari database.
sumber
jika kami memperbarui secara
<select>
konstan dan kami perlu menyimpan nilai sebelumnya:sumber