Saat ini saya sedang berjuang dengan dropdown dan saya ingin berbagi pengalaman saya:
Ada situasi khusus di mana <select>
tidak dapat digunakan dan harus 'ditiru' dengan dropdown.
Misalnya jika Anda ingin membuat grup input bootstrap, seperti Tombol dengan dropdown (lihat http://getbootstrap.com/components/#input-groups-buttons-dropdowns ). Sayangnya <select>
tidak didukung dalam kelompok input, itu tidak akan diberikan dengan benar.
Atau apakah sudah ada yang menyelesaikan ini? Saya akan sangat tertarik dengan solusinya.
Dan untuk membuatnya lebih rumit, Anda tidak dapat menggunakannya hanya $(this).text()
untuk menangkap apa yang dipilih pengguna dalam dropdown jika Anda menggunakan glypicons atau ikon font yang luar biasa sebagai konten untuk dropdown. Sebagai contoh:
<li id="someId"><a href="#0"><i class="fa fa-minus"></i></a></li>
Karena dalam hal ini tidak ada teks dan jika Anda akan menambahkan beberapa maka itu juga akan ditampilkan dalam elemen dropdown dan ini tidak diinginkan.
Saya menemukan dua solusi yang mungkin:
1) Gunakan $(this).html()
untuk mendapatkan konten dari <li>
elemen yang dipilih dan kemudian memeriksanya, tetapi Anda akan mendapatkan sesuatu seperti itu <a href="#0"><i class="fa fa-minus"></i></a>
sehingga Anda perlu bermain dengan ini untuk mengekstrak apa yang Anda butuhkan.
2) Gunakan $(this).text()
dan menyembunyikan teks dalam elemen dalam rentang tersembunyi:
<li id="someId"><a href="#0"><i class="fa fa-minus"><span class="hidden">text</span></i></a></li>
. Bagi saya ini adalah solusi sederhana dan elegan, Anda dapat meletakkan teks apa pun yang Anda butuhkan, teks akan disembunyikan, dan Anda tidak perlu melakukan transformasi $(this).html()
hasil seperti pada opsi 1) untuk mendapatkan apa yang Anda butuhkan.
Saya harap ini jelas dan dapat membantu seseorang :-)