Bagaimana saya bisa mendapatkan semua opsi pilih melalui jQuery dengan memberikan ID-nya?
Saya hanya mencari untuk mendapatkan nilai-nilai mereka, bukan teksnya.
javascript
jquery
jquery-selectors
Klik Upvote
sumber
sumber
$.map
jauh lebih elegan dan lebih rentan kesalahan (lihat di bawah).$('#id option').map((index, option) => option.value)
: perhatikan bagaimana tanda tangan panggil terbalik dibandingkan denganmap
fungsi JS "vanilla" ((item, index) =>
)Saya tidak tahu jQuery, tetapi saya tahu bahwa jika Anda mendapatkan elemen pilih, itu berisi objek 'opsi'.
sumber
$.map
mungkin cara paling efisien untuk melakukan ini.Anda dapat menambahkan opsi perubahan
$('#selectBox option:selected')
jika Anda hanya menginginkan yang dipilih.Baris pertama memilih semua kotak centang dan menempatkan elemen jQuery mereka ke dalam variabel. Kami kemudian menggunakan
.map
fungsi jQuery untuk menerapkan fungsi ke masing-masing elemen variabel itu; semua yang kami lakukan adalah mengembalikan nilai setiap elemen karena hanya itu yang kami pedulikan. Karena kami mengembalikannya ke dalam fungsi peta, sebenarnya ia membangun array nilai seperti yang diminta.sumber
$('#selectBox').val()
akan mengembalikan array nilai yang dipilih.Beberapa jawaban menggunakan
each
, tetapimap
merupakan alternatif yang lebih baik di sini IMHO:Ada (setidaknya) dua
map
fungsi di jQuery. Jawaban Thomas Petersen menggunakan "Utilities / jQuery.map"; jawaban ini menggunakan "Traversing / map" (dan karenanya sedikit kode pembersih).Itu tergantung pada apa yang akan Anda lakukan dengan nilai-nilai itu. Jika Anda, katakanlah, ingin mengembalikan nilai dari suatu fungsi,
map
mungkin merupakan alternatif yang lebih baik. Tetapi jika Anda akan menggunakan nilai-nilai secara langsung Anda mungkin ingineach
.sumber
get()
objek yang dikembalikan untuk bekerja dengan array dasar." - api.jquery.com/maptext()
sebaliknyaval()
. Terima kasih ! (Saya menyebabkan Anda membaca lebih dari 1000;->
)sumber
Meskipun, cara yang BENAR adalah untuk mengatur properti DOM elemen, seperti:
sumber
Ini akan menempatkan nilai opsi
#myselectbox
menjadi array bersih yang bagus untuk Anda:sumber
$.map(domelts, elt=> $(elt).val())
Anda dapat mengambil semua "nilai yang dipilih" dengan nama kotak centang dan menyajikannya dalam sengatan yang dipisahkan oleh ",".
Cara yang bagus untuk melakukan ini adalah dengan menggunakan $ .map (): jQuery:
sumber
select
danoption
bukan kotak centang.Contoh kerja
Cara paling efisien untuk melakukan ini adalah menggunakan
$.map()
Contoh:
sumber
Anda dapat menggunakan kode berikut untuk itu:
sumber
Untuk opsi multiselect:
$('#test').val()
mengembalikan daftar nilai yang dipilih.$('#test option').length
mengembalikan total jumlah opsi (baik yang dipilih maupun yang tidak dipilih)sumber
Ini adalah Skrip sederhana dengan jQuery:
sumber
Berikut ini adalah contoh sederhana dalam jquery untuk mendapatkan semua nilai, teks, atau nilai dari item yang dipilih, atau teks dari item yang dipilih
sumber
Atau:
Untuk melihat hasilnya:
sumber
Jika Anda mencari semua opsi dengan beberapa teks yang dipilih maka kode di bawah ini akan berfungsi.
sumber
Jalan pintas
atau
sumber