Seperti pertanyaannya, bagaimana cara menambahkan opsi baru ke DropDownList menggunakan jQuery?
Terima kasih
jquery
user-interface
drop-down-menu
daging
sumber
sumber
Jawaban:
Tanpa menggunakan plugin tambahan,
Jika Anda memiliki banyak opsi, atau kode ini perlu dijalankan sangat sering, maka Anda harus melihat menggunakan DocumentFragment alih-alih memodifikasi DOM berkali-kali tanpa perlu. Untuk hanya beberapa pilihan, saya akan mengatakan itu tidak layak sekalipun.
------------------------------- Ditambahkan ------------------ --------------
DocumentFragment
adalah opsi yang baik untuk peningkatan kecepatan, tetapi kami tidak dapat membuat elemen opsi menggunakandocument.createElement('option')
karena IE6 dan IE7 tidak mendukungnya.Apa yang bisa kita lakukan adalah, membuat elemen pilih baru dan kemudian menambahkan semua opsi. Setelah loop selesai, tambahkan ke objek DOM yang sebenarnya.
Dengan cara ini kami akan memodifikasi DOM hanya untuk satu kali!
sumber
val
dantext
benar - benar menggambarkan variabel dan penggunaannya.mySelect.append(new Option(text, val));
, yang tidak berfungsi di IE8. Saya harus beralih ke @ nickf'smySelect.append($('<option></option>').val(val).html(text));
.attr('selected', true|false)
Tanpa plug-in, ini bisa lebih mudah tanpa menggunakan banyak jQuery, alih-alih menjadi sekolah yang sedikit lebih lama:
Jika Anda ingin menentukan apakah opsi a) adalah nilai yang dipilih default, dan b) harus dipilih sekarang, Anda dapat memasukkan dua parameter lagi:
sumber
"<option></option>"
metodenya; itu tampak kotor.Dengan plugin: jQuery Selection Box . Kamu bisa melakukan ini:
sumber
Anda mungkin ingin menghapus DropDown Anda terlebih dahulu $ ('# DropDownQuality'). Empty ();
Saya memiliki controller saya di MVC mengembalikan daftar pilih dengan hanya satu item.
sumber
Tambahkan item ke daftar di awal
Tambahkan item ke daftar pada akhirnya
Operasi Dropdown umum (Dapatkan, Atur, Tambah, Hapus) menggunakan jQuery
sumber
.prepend("...") / $("...")
ke.prepend('...') / $('...')
akan memperbaiki cuplikan.Catatan Pease @ solusi Phrogz tidak bekerja di IE 8 sedangkan @ nickf bekerja di semua browser utama. Pendekatan lain adalah:
sumber
Anda dapat menggunakan langsung
$"(.ddlClassName").Html("<option selected=\"selected\" value=\"1\">1</option><option value=\"2\">2</option>")
-> Di sini kamu dapat menggunakan string langsung
sumber
Dan juga, gunakan .prepend () untuk menambahkan opsi ke awal daftar opsi. http://api.jquery.com/prepend/
sumber
menggunakan jquery yang bisa Anda gunakan
di mana " myid " adalah id dari daftar dropdown dan nilai baru adalah teks yang ingin Anda masukkan ..
sumber
Saya perlu menambahkan banyak opsi ke dropdown karena ada dropdown di halaman saya. Jadi saya menggunakannya dengan cara ini:
Ini secara dinamis mengatur dropdown dengan nilai-nilai seperti 1 ke n, dan secara otomatis memilih nilai untuk urutan dropdown itu (yaitu dropdown 2 mendapat "2" di dalam kotak, dll.).
Itu konyol bahwa saya tidak dapat menggunakan
this
atauthis.Object
atau$.obj
atau sesuatu seperti itu di 2 saya.each()
, meskipun --- saya benar-benar harus mendapatkan ID spesifik dari objek itu dan kemudian mengambil dan meneruskan seluruh objek itu ke fungsi saya sebelum ditambahkan. Untungnya ID dropdown saya dipisahkan oleh "_" dan saya bisa mengambilnya. Saya tidak merasa saya harus melakukannya, tapi itu terus memberi saya jQuery pengecualian. Sesuatu yang lain bergumul dengan apa yang mungkin saya nikmati.sumber
Mari kita anggap respons Anda adalah "successData". Ini berisi daftar yang perlu Anda tambahkan sebagai opsi dalam menu dropdown.
Ini akan bekerja untuk Anda ....
sumber
coba Fungsi ini:
sumber