Jadi saya punya kotak centang ini:
<input type="checkbox" name="type" value="4" />
<input type="checkbox" name="type" value="3" />
<input type="checkbox" name="type" value="1" />
<input type="checkbox" name="type" value="5" />
Dan seterusnya. Ada sekitar 6 dari mereka dan kode tangan (yaitu tidak diambil dari db) sehingga mereka cenderung tetap sama untuk sementara waktu.
Pertanyaan saya adalah bagaimana saya bisa mendapatkan semuanya dalam sebuah array (dalam javascript), jadi saya bisa menggunakannya saat membuat $.post
permintaan AJAX menggunakan Jquery.
Adakah pikiran?
Sunting: Saya hanya ingin kotak centang yang dipilih ditambahkan ke array
javascript
jquery
ajax
dhtml
Klik Upvote
sumber
sumber
Jawaban:
Diformat:
Semoga ini berhasil.
sumber
yourArray = []
map
bukaneach
:var yourArray = $("input:checkbox[name=type]:checked").map(function(){return $(this).val()}).get()
function get_selected_checkboxes_array(){ var ch_list=Array(); $("input:checkbox[type=checkbox]:checked").each(function(){ch_list.push($(this).val());}); return ch_list; }
sumber
JS murni
Bagi mereka yang tidak ingin menggunakan jQuery
sumber
Saya tidak mengujinya tetapi harus bekerja
sumber
Ini harus melakukan trik:
Saya tidak berpikir Anda memiliki elemen lain yang dapat diperiksa, tetapi jika Anda melakukannya, Anda harus membuatnya lebih spesifik:
sumber
Di MooTools 1.3 (terbaru pada saat penulisan):
sumber
Jika Anda ingin menggunakan vanilla JS, Anda dapat melakukannya dengan cara yang sama dengan @ zahid-ullah, tetapi menghindari satu loop:
Kode yang sama di ES6 terlihat jauh lebih baik:
Tampilkan cuplikan kode
sumber
Dalam Javascript akan seperti ini (Tautan Demo) :
sumber
Versi ES6:
Tampilkan cuplikan kode
sumber
JavaScript murni tanpa perlu variabel sementara:
sumber
sumber
Saat memeriksa tambahkan nilai untuk kotak centang dan pada penguraian kurangi nilai
sumber
Cara lain untuk melakukan ini dengan vanilla JS di browser modern (tidak ada dukungan IE, dan sayangnya tidak ada dukungan iOS Safari pada saat penulisan) adalah dengan FormData.getAll () :
sumber
Menggunakan Jquery
Anda hanya perlu menambahkan kelas ke setiap input, saya harus menambahkan kelas "sumber" Anda dapat mengubahnya tentu saja
sumber
Gunakan ini:
sumber
Gunakan komentar jika blok untuk mencegah nilai tambah yang sudah ada dalam array jika Anda menggunakan klik tombol atau sesuatu untuk menjalankan penyisipan
sumber
Anda dapat mencoba sesuatu seperti ini:
Sini
sumber
di sini adalah kode saya untuk masalah yang sama seseorang juga dapat mencoba ini. jquery
sumber
sumber
sumber