Saya ingin mendapatkan efek yang sama seperti jQuery.serialize()
tetapi saya hanya ingin mengembalikan elemen anak yang diberikan div
.
Hasil sampel:
single=Single2&multiple=Multiple&radio=radio1
jquery
serialization
BrokeMyLegBiking
sumber
sumber
$("#divId").find("select, textarea, input").serialize();
menghasilkan kinerja yang lebih baik? Saya membayangkan hal di atas bisa menjadi lambat jika div memiliki banyak elemen, seperti tabel dengan beberapa baris / kolom.Anda dapat meningkatkan kecepatan kode Anda jika Anda membatasi item yang akan dilihat jQuery.
Gunakan selector : input, bukan * untuk mencapainya.
Ini akan membuat kode Anda lebih cepat karena daftar item lebih pendek.
sumber
serialize
semua elemen bentuk dalam adiv
.Anda dapat melakukannya dengan menargetkan div
#target-div-id
di dalamform
penggunaan Anda :sumber
Fungsi yang saya gunakan saat ini:
sumber
Coba juga ini:
sumber
Bagaimana dengan solusi saya:
Tampilkan cuplikan kode
sumber
Jika elemen tersebut memiliki nama kelas yang sama, seseorang juga dapat menggunakan ini:
Dengan cara ini Anda dapat menghindari pemilihan tombol, yang akan dipilih menggunakan selektor jQuery
:input
. Padahal ini juga bisa dihindari dengan menggunakan$('#your_div :input:not(:button)').serialize();
sumber
sumber
ID
di setiap selektor, seperti$('#divId > input, #divId > select, #divId > textarea')
:; Juga,>
simbol itu mengacu pada elemen anak langsung ... Sangat tidak biasa dalam skenario ini atau setidaknya, sangat membatasi.